Re: [問題] 關於thread 在 VC2005 上 的操作
※ 引述《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
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章