2
併發例程我有三個併發程序就是這樣,打印問題與圍棋
func Routine1() {
Print (value a, value b, value c)
Print (value a, value b, value c)
Print (value a, value b, value c)
}
func Routine2() {
Print (value e, value f, value g)
Print (value e, value f, value g)
Print (value e, value f, value g)
}
func Routine3() {
Print (value x, value y, value z)
Print (value x, value y, value z)
Print (value x, value y, value z)
}
func main() {
go Routine1(command12, response12, command13, response13)
go Routine2(command12, response12, command23, response23)
Routine3(command13, response13, command23, response23)
}
現在我面對的問題是,有時它會發生,作爲三個並行程序,有時打印結果語句沒有正確執行意味着不打印整個,有一些東西插入另一個打印。例如,例程1的打印(值a,值b,值c)給出類似於值a,值b,值g的輸出,其中值g由例程2插入。有人可以建議我,我該如何阻止它?我已經嘗試過sync-mutex程序。然而,可能是因爲我的代碼太長,可能是我不能以正確的方式鎖定解鎖,所以它給出了一個死鎖錯誤。任何人都可以建議我如何以簡單的方式或以較低風險的同步互斥過程來實現這些目標。
有關我的這個問題的更多信息可以找到here。
謝謝。這是非常好的程序。讓我嘗試。 – Arpssss