[討論] Multithread讀寫檔案
大家好,想請問一個問題,有一個UI畫面主程式(簡稱MAIN)有Multithread,
現在有一個函式庫LIB(簡稱libTest)裡面有兩個函式A跟B
都要對某個檔案(簡稱CONF)讀寫檔案,所以在libTest函式庫裡面用一個MUTEX全域變數
利用pthread_mutex_lock()在函式A跟B裡面鎖定。
而libTest函式A是被主程式MAIN直接呼叫(函式A從頭到尾都在pthread_mutex_lock裡面),而
libTest函式B則是被函式庫libTest裡面的函式C呼叫,
而且很密集的呼叫(函式C也是被UI主程式呼叫的),
函式B裡面分為三部份,則在中間的部份才有用pthread_mutex_lock與unlock,其餘兩部
份有做其他事情。
現在問題是當主程式一執行完(Multithread),UI畫面就會當掉,但是console還是能輸入
訊息,但是只有一個thread的時候就正常。
想問類似這種Multithread如何除錯才比較有效率,或是這部份那裡需要改進的呢?
跟libTest函式B很密集的被呼叫有關係嗎?
例如UI主程式的Pthread A呼叫函式庫的函式C,而函式C很密集呼叫函式B,
而函式B還沒有做完,而函式C又呼叫函式B了。
想請大家給點意見,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.109.155
→
05/01 04:05, , 1F
05/01 04:05, 1F
→
05/01 04:06, , 2F
05/01 04:06, 2F
→
05/01 04:08, , 3F
05/01 04:08, 3F
推
05/02 00:09, , 4F
05/02 00:09, 4F
→
05/02 00:10, , 5F
05/02 00:10, 5F
→
05/02 00:10, , 6F
05/02 00:10, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章