两线程如何协调工作?/

taoma 2002-05-29 12:35:23
在一个聊天程序里
用8000端口来发送信息
用8189端口接收信息
发送和接收用两个线程来实现
这两个线程如何协调工作
...全文
59 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimconrad 2002-05-29
  • 打赏
  • 举报
回复
用消息或者全局变量同步线程。
zxs218 2002-05-29
  • 打赏
  • 举报
回复
简单的话使用全局计数变量,

long m_lRefCount = 0;

用一次使用
InterlockedIncrement(&m_lRefCount);

不用了使用
InterlockedDecrement(&m_lRefCount);
Crob 2002-05-29
  • 打赏
  • 举报
回复
线程中常用的临界变量
Crob 2002-05-29
  • 打赏
  • 举报
回复
CRITICAL_SECTION m_criticalSection;
......

//所有要修改这个值的操作先进入同步变量,操作完后退出
EnterCriticalSection(&m_criticalSection);
value = "aaaaaaaa";
LeaveCriticalSection(&m_criticalSection);
wistaria 2002-05-29
  • 打赏
  • 举报
回复
可以用event来实现: 见CEvent, WaitForSingleObject, WaitForMultipleObject
也可以用全局变量加互斥来实现: 见CCriticalSection
xinyi 2002-05-29
  • 打赏
  • 举报
回复
怎么用同步呀?
wyalchemy 2002-05-29
  • 打赏
  • 举报
回复
我想如果简单实现的话,用全局变量就可以协调了!
KiteJohn 2002-05-29
  • 打赏
  • 举报
回复
在两线程中,你要确定那些量是两个线程都要访问的,也就是需要的通信内容。一种方式可以定成全局变是一,访问时锁定,之后解锁。
ShallonXu 2002-05-29
  • 打赏
  • 举报
回复
也可以用事件来同步阿

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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