线程安全问题!在线程类内的局部 VCL 组件是否应考虑线程安全?(50分)

  • 主题发起人 主题发起人 wanggongqin
  • 开始时间 开始时间
W

wanggongqin

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,我在 TThread 类的派生类中的私有域声明 VCL 组件,如 TIdTCPServer、TIdTCPClient、 TMemoryStream 等,是否需要考虑线程安全问题?还有我在线程类中的某个方法中使用 TBitmap、TCanvas 等局部变量是否考虑线程安全问题?
 
如果VCL 组件只被本线程使用 它是安全的~也就是说私有域中的 VCL 组件是安全的.
TCanvas并不保证线程安全
 
我记得一些资料上说什么访问公共堆栈什么的会引起线程不安全!!!
 
首先,在delphi中,如果是可视化的vcl,那肯定是线程不安全的,访问的时候,需要同步。如果是非可视化的vcl,那么如果只是一个线程使用,那这个线程没有什么不安全的,如果涉及到多个线程访问,那不管是vc写的多线程,还是其他语言写的多线程,都必须注意保护。
 
同意樓上:
單個純種訪問無所謂安全與否,多線程訪問注意同步及保護
 
后退
顶部