没别的意思就是想看看 你是怎么让3个线程协同工作,怎么和vcl同步的,最好能有不同的同步代码 1.vcl同步 2.互斥元 3.信号量 4.临界区小弟在这里跪谢
解决方案 »
- treeview添加问题
- 如何得到所有可视化窗口的句柄?
- 在dbgrid里面鼠标不能点击到网格的外面请问是什么原因呢?
- 着急!!!如何16进制转换成10进制?在线等待100分
- Bitmap image is not valid错误,能正确显示图片的再给200分其它顶者有分
- 在局域中如何用代码来控制客户端连接后台数据库SQL!(98启动时不用输入用户名和密码来登录服务器)
- 请问delphi中有没有直接把秒数转化成时间格式的函数?
- <<<<<<< 求skinengine267更多的skin !!!
- 送分解决Delphi打印问题
- 关于文件读写问题!
- 送钱送分求购《Delphi COM 深入编程》 Eric Harmon著 (不是电子书)
- 文本文件转为数据库???
找本書看下, 可能更清楚!!!
1. 只能在应用程序的主线程中访问VCL的属性和方法。
2. TThread提供了名为Synchronize()的方法,该方法允许在应用程序的主线程内执行线程中的方法。该方法自动实现同步(内部实际上是串行执行)
3. 另外一种技术可以作为 Synchronize() 的替代品,可以使用 SendMessage() 或 PostMessage() 来发送消息到另一个线程环境操纵的窗口。
看一下Delphi自带的那个用线程进行种排序的例子吧,那里面有。
首先,只允许一个线程访问用户界面,大大降低了应用程序的复杂性。...我们不必去注意那些潜在的同步问题...此外,由于VCL只能在一个时刻被一个线程访问,因此在VCL内部就可以不考虑多线程同步问题。这样的应用程序的结构更为简洁,从而有助于提高应用程序的整体效率。