如何在多线程里维护公共数组

山娃马小三儿 2010-08-17 04:31:38
定义了一个公共数组变量,程序里有2个线程,一个为threadconnect,当次线程执行的时候,动态的增加数组长度,一个threaddisconnect,当此线程执行的时候,从数组里删除与此连接有关的变量,这两个线程都是频繁的调用,请问怎么保证公共数组不产生偏差
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamduo 2010-08-19
  • 打赏
  • 举报
回复
ThreadVar
aa:[0..100] array of integer;
begin

可以试试。
kye_jufei 2010-08-18
  • 打赏
  • 举报
回复
臨界區: InitializeCriticalSection、Synchronize...
互斥: 定義一個互斥量Mutex...
bdmh 2010-08-17
  • 打赏
  • 举报
回复
老之已经告诉你api了,看不懂自己搜索吧,该自己动手,就动动手吧
老之 2010-08-17
  • 打赏
  • 举报
回复
可以啊,临界区定义成全局的,找一下
InitializeCriticalSection,EnterCriticalSection,LeaveCriticalSection这几个API的用法
山娃马小三儿 2010-08-17
  • 打赏
  • 举报
回复
在不同的线程里,能使用临界区么,我没用过啊,哪位给个例子看看啊
bdmh 2010-08-17
  • 打赏
  • 举报
回复
采取互斥,每次只保证有一个线程访问数组
老之 2010-08-17
  • 打赏
  • 举报
回复
使用临界区、互斥锁之类的可以了

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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