关于多线程使用的问题
2005-08-31 02:37
531 查看
我有一个TThread类,然后类里面,私有成员指针TIdIcmpClient* ,在构造函数中,new了一个TIdIcmpClient对象出来。因为有十来个线程并发,然后发现,从TIdIcmpClient->ReplyStatus读出的信息,是其它线程的内容。感觉很奇怪,不知道TIdIcmpClient这个控件是不是多线程不安全的。如果不是,请问谁有过多线程使用TIdIcmpClient的经验,谢谢啊
VCL本身不内置多线程支持的。因此一般要使用TThread->Synchronize来处理。
大家好,我在编程时,由于处理工作量较大,所以采用多线程编程,用到vcl对象,故采用Synchronize来进行同步,可采用Synchronize方法后,线程的执行效率明显下降,这是怎么回事?该如何处理啊?
不要把大循环的代码放入 Synchronize 调用的过程,
应该只把那些需要修改VCL的代码出去出来过程一个过程,通过 Synchronize 方式调用
用Synchronize方法的执行 实际上是由主线程完成的,当然效率不高。
把某些界面的操作分离出来放到Synchronize里执行,其他的就不用管,我这样搞后cpu占用率就降到零了,真妙.
VCL本身不内置多线程支持的。因此一般要使用TThread->Synchronize来处理。
大家好,我在编程时,由于处理工作量较大,所以采用多线程编程,用到vcl对象,故采用Synchronize来进行同步,可采用Synchronize方法后,线程的执行效率明显下降,这是怎么回事?该如何处理啊?
不要把大循环的代码放入 Synchronize 调用的过程,
应该只把那些需要修改VCL的代码出去出来过程一个过程,通过 Synchronize 方式调用
用Synchronize方法的执行 实际上是由主线程完成的,当然效率不高。
把某些界面的操作分离出来放到Synchronize里执行,其他的就不用管,我这样搞后cpu占用率就降到零了,真妙.
相关文章推荐
- 关于使用IO复用和多线程问题
- 关于使用IO复用和多线程问题
- 关于使用PyTorch设置多线程(threads)进行数据读取而导致GPU显存始终不释放的问题
- 关于VB使用ActiveX.Exe创建多线程程序的奇怪问题
- 易语言----关于超级网页访问模块 在多线程的使用中 出错的问题 讨论
- 关于使用opencv的提速(二)(多线程问题,openMP)
- 关于使用opencv的提速(二)(多线程问题,openMP)
- 关于使用opencv的提速(二)(多线程问题,openMP)
- 关于“使用VS 2005和SQL Server 2005创建连接时不允许进行远程连接”的问题的解决
- 转载 关于使用typeid时要注意的问题
- 关于oracle版权使用问题
- 关于带返回值委托函数和委托函数使用引用参数的问题
- 刚才遇到了关于C#使用外部DLL函数上的char*的问题。
- 关于PB使用IE组件的问题
- 关于asp.net页面同时使用ajax控件和Freetextbox控件的问题!
- 关于c++下使用mysql的一些问题
- 关于Ajax执行完毕之后返回值的问题,想让它执行完毕返回一个true或者false供之后使用。
- 关于GPS使用上的一个怪异问题
- 使用testng多线程来测试成交编号重复的问题
- 【MS】关于多线程的死锁问题