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

山娃马小三儿 2010-08-17 04:31:38
定义了一个公共数组变量,程序里有2个线程,一个为threadconnect,当次线程执行的时候,动态的增加数组长度,一个threaddisconnect,当此线程执行的时候,从数组里删除与此连接有关的变量,这两个线程都是频繁的调用,请问怎么保证公共数组不产生偏差
...全文
49 点赞 收藏 7
写回复
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的用法
回复
在不同的线程里,能使用临界区么,我没用过啊,哪位给个例子看看啊
回复
bdmh 2010-08-17
采取互斥,每次只保证有一个线程访问数组
回复
老之 2010-08-17
使用临界区、互斥锁之类的可以了
回复
发动态
发帖子
Windows SDK/API
创建于2007-08-02

1145

社区成员

Delphi Windows SDK/API
申请成为版主
社区公告
暂无公告