【发布时间】:2011-12-05 07:07:21
【问题描述】:
我有一个类似的代码,
Routine 1 {
runtime.LockOSThread()
print something
send int to routine 2
runtime.UnlockOSThread
}
Routine 2 {
runtime.LockOSThread()
print something
send int to routine 1
runtime.UnlockOSThread
}
main {
go Routine1
go Routine2
}
我使用运行时锁定解锁,因为我不想打印 例程 1 将与例程 2 混合。但是,在执行上述操作后 代码,它的输出与没有锁定解锁相同(意味着打印输出 混合)。任何人都可以帮助我为什么会发生这种情况以及如何强制 这是为了发生。
注意:我举了一个打印的例子,但是有很多 打印和发送事件。
【问题讨论】:
标签: go