关于thread-safe(100分)

  • 主题发起人 夜半孤周
  • 开始时间

夜半孤周

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi5有哪些VCL组件是thread-safe的?RDM是吗?
如果发生线程冲突,会有什么后果,概率大吗?
用Main VCL线程,是不是还不如不用多线程?
 
Thread是一个麻烦的事情。一般在少数的几个线程运行的时候,VCL的冲突问题不明显,
但是很多个线程的时候,就完蛋了。
我现在的方法只能用synchronize()来调用函数可以避免一些。
但是synchronize的致命的缺点是不能带参数,使用起来非常的不方便。
所以总要定义了很多全局变量。
我觉得在线程中使用synchronize不是解决办法,对多线程的程序来说更是一种莫
大的讽刺。但是确实现在想不出方法。
不知道哪位大虾在这个方面就经验?
 
hehehhehehehehehehe
hehehehehehehehehehheheh
heheheheheh
 
据我所知
1、有关图像的构件是线程安全的(好像是从Delphi5或4
开始的),主要是加了一个TGraphicsObject,专门负责
绘制时的锁定;
2、数据库有关的构件不是线程安全的,如果要在多个
线程中使用,需要在每个线程中加一个TSession,并
把每个数据构件的Session设置为这个对象。
 
FastNet也不是线程安全的!
 
pxie兄,
李维说的D5中数据库构件thread safe是怎么回事?
 
pxie(皮鞋?)不是说了吗? 用session就线程安全了
 
我已经编写了一个增强版线程类:TThreadEx,重载了两个能够带参数的synchronize函数,同时
TTheadEx还支持Thread管理,可以设置最大线程数;用户不用继承TThreadEx,也能创建
多线程应用程序。
 
D5本身就是Thread-safe的。
 
来听大虾讲课
 
多人接受答案了。
 
顶部