我有兩個執(zhí)行線程,Routine 1 {// do something}Routine 2 {// do something}是否可以從例程1中暫停例程2的執(zhí)行幾秒鐘,這怎么可能?
2 回答

心有法竹
TA貢獻1866條經(jīng)驗 獲得超5個贊
無法控制另一個goroutine的執(zhí)行。Goroutines是合作的。他們彼此之間不占主導(dǎo)地位。
您可以做的是將點放在例程2中,在例程2中檢查是否允許繼續(xù)進行。如
// do stuff
select {
case <-wait:
<-resume
default:
}
然后例程1可以告訴例程1可以向例程2發(fā)送一個信號,告訴它等待:
wait <- true
// whatever stuff goes here
resume <- true
為什么要暫停goroutine?這可能有助于更好地回答您的問題。最好從您嘗試做的事情而不是您想做的事情開始。這樣,您就可以找到如何用語言實現(xiàn)自己真正想要的東西,而不是被替代為最初想像的實現(xiàn)方法的替代品。
- 2 回答
- 0 關(guān)注
- 223 瀏覽
添加回答
舉報
0/150
提交
取消