读书人

在线程中访问主窗体的ClientSocket控件

发布时间: 2013-01-08 14:02:14 作者: rapoo

在线程中访问主窗体的ClientSocket控件,安全吗?

我在主窗体有个ClientSocket控件,另外一个线程中,取队列中的数据,并把队列中的数据给发送出去。

这个子线程中需要访问主窗体(主线程)中的ClientSocket控件:

子线程如下:

Form1->ClientSocket1->Socket->SendBuf(bufdata,Len);

这样就是多线程程序,会可能存在主窗体和子线程同时访问这个 ClientSocket不同操作。这样安不安全,冲不冲突。

如果存在,该怎样处理。
[解决办法]
如果操作不频繁,问题不大,
如果操作频繁,建议设置个变量限制一下,不要这个发送过程中,另一个线程又来发送数据。
[解决办法]
线程间同时操作某一对象或者某一变量的话 用线程临界区
[解决办法]
就算访问不频繁,也不能保证不冲突,同一时刻多个线程完全有可能同时访问同一个对象. 用临界,信号灯等同步机制才保险.

读书人网 >C++ Builder

热点推荐