Re: [問題] 請問VC的Thread
※ 引述《tyc5116 (累人啊....)》之銘言:
: 請問一下,VC所提供的Thread可以拿來重複使用嗎
: 意思是說,假設我有A,B,C三個function
: 一開始指定這個Thread用來執行A,當執行完了以後再換B用,再換C
: 請問這樣可以嗎
: --
: ◆ From: 163.18.48.28
: 推 jerohands:那請問這樣開Thread有什麼含意嗎? 04/11 18:50
: 推 hilorrk:用thread不就是為了把這種事情交給OS處理... 04/11 21:32
: → tyc5116:恩..我不知道該怎麼解釋耶,還要和老師討論 04/11 22:46
: → tyc5116:只是先問問這樣的方式有辦法實現嗎?? 04/11 22:46
: → fragileness:Thread裡面跑F F有一個while loop去等Event 04/12 00:44
: → fragileness:根據等到哪個Event來決定要呼叫A或B或C 04/12 00:45
: → fragileness:跑完一次之後回到迴圈開頭就可以再等下一個Event 04/12 00:45
: 推 ilovebbs:a();b();c();不就好了?XD 04/12 08:19
: → ledia:開 thread 之後, 主 thread 要等 (join) 04/12 09:27
不好意思,各位,我的這個部份有些問題,之前描述的時候也沒有很明顯
我想作的功能有兩種(看看這兩種哪一種是可以實現的)
1. 主程式─┬→產生Thread,執行Func ┬→結束 (假設迴圈3次)
↑ │
└───────────┘
如此,依照一般的作法,當要觸發的時候gcnew一個Thread來執行Func
執行結束後,這個Thread就會消失了,下一次的時候再gcnew一次,執行,共三次
我想要的方式是,產生一個Thread出來,執行的這三次都用同一個Thread
反正也沒有衝突的問題,不過VC所提供的Thread似乎不允許這樣,是嗎??
有辦法實現這樣嗎?
2. 有數個不一樣的function,然後先跟系統預留出10個Thread的空間
function要執行的時候,就檢查這10個Thread有沒有哪一個目前是沒有在使用的
若有,便拿那個Thread來執行Function,若同一時間有10個Function在執行時
第11個Function要執行時找不到有空閒的Thread,便開始等待,等到有空閒的Thread
可以用時,才執行這第11個Function
第二個比較接近我原來想要操作的方式,但我不知道怎麼實現
以上兩種方法,請問有辦法實現嗎?謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.18.48.28
推
04/20 16:41, , 1F
04/20 16:41, 1F
→
04/20 16:54, , 2F
04/20 16:54, 2F
→
04/20 16:54, , 3F
04/20 16:54, 3F
推
04/20 16:58, , 4F
04/20 16:58, 4F
→
04/20 16:58, , 5F
04/20 16:58, 5F
→
04/20 17:57, , 6F
04/20 17:57, 6F
推
04/20 18:09, , 7F
04/20 18:09, 7F
→
04/20 18:09, , 8F
04/20 18:09, 8F
→
04/20 18:11, , 9F
04/20 18:11, 9F
推
04/20 18:21, , 10F
04/20 18:21, 10F
→
04/20 18:22, , 11F
04/20 18:22, 11F
推
04/20 18:26, , 12F
04/20 18:26, 12F
→
04/24 14:55, , 13F
04/24 14:55, 13F
討論串 (同標題文章)