作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
VCL 不是线程安全的。因此,我认为在 INDY 10 TCP server.execute(...)
函数中向 gui 写入信息并不是一个好主意。
如何将信息从服务器执行发送到VCL?
我需要修改tcpserver.execute
函数内的TBitmap。如何确保该线程安全?
最佳答案
从 Indy 向 VCL 线程写入内容的方式与从其他任何地方向 VCL 线程写入内容的方式相同。常见选项包括 TThread.Synchronize
和 TThread.Queue
。
修改独立的TBitmap
不需要与主线程同步。您可以从任何您想要的线程修改它,只要您一次只从一个线程进行修改即可。您可以使用关键部分和事件等标准同步对象来确保一次只有一个线程使用它。
关于INDY 10 TCP 服务器 - 与非线程安全 VCL 代码结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13036579/
我是一名优秀的程序员,十分优秀!