[問題] 關於pthread和select的小問題
有幾個問題一直困擾小弟很久, 想請教各位先進
1. 我在一支程式裡創造2條pthread, 並且在pthread的callback function中都先睡5秒鐘,
當第一個thread開始睡5秒鐘(sleep(5)), 就把cpu控制權交出去, 第二個thread接到
cpu控制權後也立刻睡5秒鐘, 而把cpu控制權再交出去, 此時cpu控制權會交還到thread1
身上嗎, 如果會的話, thread1不是根本沒睡滿5秒就醒來了嗎?
2. 我在使用pthread撰寫multi-thread程式時, 如果某個thread的code裡沒有sleep(),
該thread是不是就不會把控制權交出去給別的thread使用呢?
(至少我實驗結果看來如此@@)
3. 我使用socket的select技巧時, 會設定timeout來當作blocking時間, 有人告訴我
設定的那段blocking時間長度就是等於給該thread進行sleep()多久, 而我一直以為
設定的blocking時間長度是該thread"佔用"cpu控制權多久, 請問誰才是對的呢??
煩請各位替小弟解惑了
p.s. 我的執行環境為linux 核心2.6, 使用gcc 4.3
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.101.68
推
05/27 22:32, , 1F
05/27 22:32, 1F
→
05/27 22:32, , 2F
05/27 22:32, 2F
→
05/27 22:32, , 3F
05/27 22:32, 3F
→
05/27 22:33, , 4F
05/27 22:33, 4F
→
05/27 22:34, , 5F
05/27 22:34, 5F
→
05/27 22:51, , 6F
05/27 22:51, 6F
→
05/27 22:52, , 7F
05/27 22:52, 7F
→
05/27 22:52, , 8F
05/27 22:52, 8F
→
05/27 22:53, , 9F
05/27 22:53, 9F
→
05/27 22:54, , 10F
05/27 22:54, 10F
→
05/27 22:55, , 11F
05/27 22:55, 11F
→
05/27 22:55, , 12F
05/27 22:55, 12F
→
05/27 22:57, , 13F
05/27 22:57, 13F
→
05/27 22:58, , 14F
05/27 22:58, 14F
→
05/27 22:58, , 15F
05/27 22:58, 15F
→
05/27 22:59, , 16F
05/27 22:59, 16F
→
05/27 22:59, , 17F
05/27 22:59, 17F
→
05/27 22:59, , 18F
05/27 22:59, 18F
→
05/27 23:00, , 19F
05/27 23:00, 19F