Ruby线程的输出顺序?
发布时间:2020-12-17 03:41:08 所属栏目:百科 来源:网络整理
导读:我正在阅读 Ruby Threads(之前我从未使用过Ruby),我对以下代码感到惊讶: t1 = Thread.new { print "w"; Thread.pass; print "a"}t2 = Thread.new { print "e"; Thread.pass; print "l"}t1.joint2.join 这本书说总是会显示“weal”,我不明白为什么,因为如果
我正在阅读
Ruby Threads(之前我从未使用过Ruby),我对以下代码感到惊讶:
t1 = Thread.new { print "w"; Thread.pass; print "a"} t2 = Thread.new { print "e"; Thread.pass; print "l"} t1.join t2.join 这本书说总是会显示“weal”,我不明白为什么,因为如果它们是真正的线程(如在其他语言中),则不能确保“w”将在“e”之前打印. 谢谢您的回答! 解决方法
更换书籍或小心阅读.你当然是对的,唯一的保证就是w之后会出现等等.
我刚刚测试了你的代码,这是10次运行后的结果: weal weal ewal wela wael wael wela ewla ewla weal (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |