作者akdsy (我喜欢小玉)
站内Programming
标题Re: [问题] 关於thread 在 VC2005 上 的操作
时间Tue Sep 11 18:42:24 2007
※ 引述《ephesians (发起钱像乱喷水)》之铭言:
: ※ 引述《akdsy (我喜欢小玉)》之铭言:
: : 其实我有在C++版上问过,
: : 不过问题现在很紧急,
: : 所以到这在问一次,
: : 因为我不太确定 WaitForSingleObject() 和 pthread 里面的 pthread_mutex_lock
: : 以及
: : ReleaseMutex 和 pthread 里面的 pthread_mutex_unlock
: : 这两者是否是一样的意思呢?
: WaitForSingleObject()是让程序等待指定程序执行完,
: 单就这函数的意思,并不能完整对应到pthread_mutex_lock,
: 而是看你怎麽用这个函式写程式,
: 写出来真的是个有保护的critical section才算数.
: 你就把微软的手册读了,按它的意思去写就好,
: 别管这函式跟pthread_mutex_lock()是不是等价,
: 否则忙死你.
我是这样写这两个thread
void ThreadRead_data(void*)
{
......
WaitForSingleObject(hMutex,INFINITE); //等待互斥对象通知
.......
.......
......(在critical section 做一些事)
ReleaseMutex(hMutex);
}
//另一条thread
void Thread_counter(void*)
{
..............
WaitForSingleObject(hMutex,INFINITE); //等待互斥对象通知
.......
.......
......(在critical section 做一些事)
ReleaseMutex(hMutex);
.............
}
这是我在网路上google来的资讯
但是我不是很确定他会不会对共同读取的位置作 mutual exclusive
感谢你的回答!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.247.237