indy是否线程安全?(100分)

  • 主题发起人 主题发起人 HanFeng
  • 开始时间 开始时间
H

HanFeng

Unregistered / Unconfirmed
GUEST, unregistred user!
indy/ics/nm,哪个是线程安全的?从什么机类继承的是线程安全的?
为何我在d6中用synchronize同idftp操作有时形同死机?indy是否线程安全?
 
indy 线程是不安全的,用组合模式,从tthread继承然后组合indy组件
涉及到消息处理时一定要用synchronize
 
为什么?有何为证?涉及到消息处理具体指的是什么?
 
所谓线程安全应该是指不必同步在线程中可以安全地进行读写吧。
而synchronize则是挂起当前线程转到主进程时间片内运行,
这时对一个进程来说肯定是单步操作的,所以不会出现冲突发生。
但如果synchronize内容很复杂耗时时, 将挂起所有需要访问主进程资源的线程。
并且主进程优先级比线程要高, 大量时间和系统资源被主进程占据,
其它线程的运行必将大受影响。
另外说一句: indy是线程安全的。 所谓形同死机并不是线程不安全的表现,
而是主进程忙于一个极繁重任务无暇处理其他任务(特别是屏幕刷新)时的最显著的表示。
 
各位大侠,不论持何论点,请给个论据好吗?为什么说indy是或者不是安全的?
 
线程安全是指可以在多个线程中分别运行类的多个实例
例如大多数VCL类不是线程安全是, 它们使用Windows的GDI等系统资源,
这些资源必须被独占使用!
Indy没有使用这样的资源, 你可以在多个线程中运行它的多个实例[:D]
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
后退
顶部