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

tsk 2011-01-27 11:37:22

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

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

子线程如下:

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

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

如果存在,该怎样处理。
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2011-01-27
  • 打赏
  • 举报
回复
就算访问不频繁,也不能保证不冲突,同一时刻多个线程完全有可能同时访问同一个对象. 用临界,信号灯等同步机制才保险.
tsk 2011-01-27
  • 打赏
  • 举报
回复
访问是比较频繁的,每秒10次以内。就使用临界区来解决吗?
周药师 2011-01-27
  • 打赏
  • 举报
回复
线程间同时操作某一对象或者某一变量的话 用线程临界区
xjq2003 2011-01-27
  • 打赏
  • 举报
回复
如果操作不频繁,问题不大,
如果操作频繁,建议设置个变量限制一下,不要这个发送过程中,另一个线程又来发送数据。

1,315

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧