向大家请教一个多线程问题
有二个线程a和b, a线程在循环中调用实例a1, b线程在循环中调用实例b2,二个线程都是死循环.
现在二个线程出现的问题 是b线程调用b2实例时,由于a线程调用的实例也是操作同一个最终对像,造成最终接受数据的对像调用冲突而崩溃。最终对像不受程序控制,所以无法对最终对像用临界区或者锁定.请问有什么办法在b线程调用b2实例前,可以先暂停一下a线程,等b线程调用b2函数完毕后,再恢得a线程的运行。因为判断是否满足需要暂停a线程的条件是在b2实例内部,这里想不明白怎么处理。因为a线程使用函数的频率很高,而b线程使用函数的频率比较低,但优先级是最高的。
有二个线程a和b, a线程在循环中调用实例a1, b线程在循环中调用实例b2,二个线程都是死循环.
现在二个线程出现的问题 是b线程调用b2实例时,由于a线程调用的实例也是操作同一个最终对像,造成最终接受数据的对像调用冲突而崩溃。最终对像不受程序控制,所以无法对最终对像用临界区或者锁定.请问有什么办法在b线程调用b2实例前,可以先暂停一下a线程,等b线程调用b2函数完毕后,再恢得a线程的运行。因为判断是否满足需要暂停a线程的条件是在b2实例内部,这里想不明白怎么处理。因为a线程使用函数的频率很高,而b线程使用函数的频率比较低,但优先级是最高的。
解决方案 »
- Delphi中的TClientdataset有没有数据回滚功能
- 问一个问题 !!!!!!!!!!!!!!
- 谁有 PsFRExportFilters for delphi 7.0 控件的最新注册版?万分感谢!在线等!!
- Delphi中一个窗体跟另一个窗体怎样的方式通信才最好呢?请大家谈谈!螃蟹敬上
- 用DateTimeToStr将日期时间转为字符串后,新的时间对应的字符串大,还是晚的时间对应的字符串大?
- 用ADO访问某些DBF文件时,提示数据提供程序或其他服务返回e_fail状态?
- 抓取屏幕问题??
- 您好,请教关于数据库的问题,谢谢
- 征集打印宽行工资表的方法,是8K复打纸。
- 哪有正版的Install Shield Express for DELPHI可以下载?
- 想做外挂,高手进来指点一下
- 【高手进】 控件移动闪烁
创建临界区全局对象cri: TCriticalSection;
然后a和b线程中访问你对象前cri.Enter,访问结束cri.Leave,建议用try finally防止异常造成死锁。