社区
网络编程
帖子详情
如何实现互斥操作?
XqYuan
2009-07-16 06:22:07
我有两个对一个CArray进行操作的函数。一个函数是删除一条数据,一个函数是顺序依次操作所有数据
由于两个函数随时可能被调用,这样就存在正在顺序操作数据的时候不能删除的问题,应该如何解决?
两个函数如何实现互斥执行
...全文
159
12
打赏
收藏
如何实现互斥操作?
我有两个对一个CArray进行操作的函数。一个函数是删除一条数据,一个函数是顺序依次操作所有数据 由于两个函数随时可能被调用,这样就存在正在顺序操作数据的时候不能删除的问题,应该如何解决? 两个函数如何实现互斥执行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
XqYuan
2009-07-17
打赏
举报
回复
使用了临界区,还有问题,正在研究中...
hazrael
2009-07-16
打赏
举报
回复
严重同意LS的话
虽然临界区比较简单,不过似乎MS更建议使用内核对象
jamesjinyongming
2009-07-16
打赏
举报
回复
[Quote=引用 4 楼 tttyd 的回复:]
1.如果两个函数在一个线程里的话,则不需要任何附加工作,会自动按顺序调用这两个函数,不需要任何同步操作。
2.如果是多线程的话,则需要同步处理,针对资源使用CCriticalSection cs
[/Quote]
同意这个做法,先确定是不是多线程的
songtao_01
2009-07-16
打赏
举报
回复
CRITICAL_SECTION
biweilun
2009-07-16
打赏
举报
回复
用一个变量就可以了。
操作之前先判断这个信号变量的值是否允许他操作
orcyjay
2009-07-16
打赏
举报
回复
如果函数出口多,记得不要忘记unlock~
码侬
2009-07-16
打赏
举报
回复
CEvent 比较方便
写不动代码的人
2009-07-16
打赏
举报
回复
临界区比较方便
雪影
2009-07-16
打赏
举报
回复
1.如果两个函数在一个线程里的话,则不需要任何附加工作,会自动按顺序调用这两个函数,不需要任何同步操作。
2.如果是多线程的话,则需要同步处理,针对资源使用CCriticalSection cs
oyljerry
2009-07-16
打赏
举报
回复
临界区等
CCriticalSection cs;
每个函数进去的时候cs.lock();,退出的时候cs.unlock();
yyswly
2009-07-16
打赏
举报
回复
CEvent waitACK;
waitACK.ResetEvent();
if (WAIT_TIMEOUT == WaitForSingleObject(waitACK, nTimeOut*1000))
{
..............
}
waitACK.SetEvent();
codecola
2009-07-16
打赏
举报
回复
用同步类,如CCriticalSection, CMutex等。
极简Java并发编程入门教程
本课程从并发编程的三大核心问题入手,分别介绍了
互斥
、同步以及分工等并发编程中的常见的技术。本课程以案例驱动,会详细讲解如何使用锁来
实现
互斥
,如何使用CountDownLatch等来
实现
线程间的同步,以及如何使用CompletionService等来
实现
批量提交异步任务等知识。
CUDA
互斥
锁/原子
操作
的探究及相关疑惑
CUDA
互斥
锁相关提问
操作
系统
实现
互斥
的几种常见的方法
在进程与线程中存在大量的并发问题,进程并发的基础是
实现
互斥
的能力,也就是说当系统将这种能力赋予某个进程或者线程的时候,在其运行期间就可以排除其他的进程或者线程,常见的
实现
互斥
的方法有以下几种 1、软件方法:Dekker算法、Peterson算法 2、硬件算法:借助
操作
系统的原语 3、信号量的方法:整型信号量也记录型信号量 4、管程方法:一个管程一次只能被一个进程访问 5、进程通信:共享存
为什么pv
操作
能
实现
进程的
互斥
???
利用信号量和PV
操作
实现
进程
互斥
的一般模型是: 进程P1 进程P2 …… 进程Pn …… …… …… P(S); P(S); P(S); 临界区;
【007 基础知识】驱动里面为什么要有并发、
互斥
的控制?如何
实现
?讲个例子?
指的是多个执行单元同时、并行被执行,而解决竞态问题的途径保证对共享资源的
互斥
访问。所谓就是指。
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章