[問題] mutex跟lock有甚麼不同

看板C_and_CPP (C/C++)作者 (小涵)時間15年前 (2010/10/14 23:12), 編輯推噓1(1010)
留言11則, 6人參與, 最新討論串1/1
※ [本文轉錄自 C_Sharp 看板 #1Cjj4vBO ] 作者: julietgirl76 (小涵) 看板: C_Sharp 標題: [問題] mutex跟lock有甚麼不同 時間: Thu Oct 14 17:45:26 2010 大家好 我在網路上有看到一些資料 知道mutex是可以跨process而lock不可以 但是效用是一樣的,都是只能讓單一執行緒進入 可是我今天在測試的時候發現一個問題 就是我設定五個thread代表五個小朋友去搶85顆糖 一次只能有一個小朋友拿到一顆 利用lock的時候雖然每次重新執行結果都不一樣 但是感覺會有順序性(用a b c d e代表五個小朋友),比如說都是 aedbc aedbc aedbc 但是如果用mutex的話就不會,會變成 abccdebedcaa..類似這樣 不知道有沒有人可以點一下呢 謝謝^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.22.46.91 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.120.66.235

10/14 23:14, , 1F
C#的東西不需要轉到C/CPP板吧...
10/14 23:14, 1F

10/14 23:15, , 2F
給你建議:請在C#板貼上你的完整測試程式碼,說明做法
10/14 23:15, 2F

10/14 23:18, , 3F
mutex 運氣運氣, 如果被鎖住就不做事
10/14 23:18, 3F

10/14 23:18, , 4F
lock的話, 看怎麼實作, 一般會搭配signal
10/14 23:18, 4F

10/14 23:19, , 5F
通常解鎖之後會通知其他被lock住的thread, 納入排程
10/14 23:19, 5F

10/14 23:41, , 6F
這比較像作業系統的問題吧 另外就是要看lock/mutex的規
10/14 23:41, 6F

10/14 23:42, , 7F
則性
10/14 23:42, 7F

10/14 23:45, , 8F
主題跟C/C++關係不大耶..
10/14 23:45, 8F

10/15 01:46, , 9F
要硬搭關係的話,SDL lib也是有mutex和lock
10/15 01:46, 9F

10/15 05:32, , 10F
這名詞沒特別的定義吧,不然看到 pthread_mutex_lock()
10/15 05:32, 10F

10/15 05:33, , 11F
你臉不就歪了。應該要看你用的工具跟程式框架而定。
10/15 05:33, 11F
文章代碼(AID): #1CjntwJn (C_and_CPP)
文章代碼(AID): #1CjntwJn (C_and_CPP)