ruby - 给定多个参数时 File#print 是原子的吗?

标签 ruby multithreading

对于 ruby​​ 1.8 和 ruby​​ 1.9 的基于 C 的实现,File#print 在被赋予多个参数时是原子的吗?

最佳答案

实证检验,答案是否定的。

10.times do
  Thread.new do
    print "foo", "\n"
  end
end

给出(在 ruby​​ 1.8.7(2008-08-11 补丁级别 72)[universal-darwin10.0])

foofoofoo
foo
foo
foo
foo
foo
foo
foo

虽然不知道在哪里可以查找什么是原子的,什么不是原子的。

关于ruby - 给定多个参数时 File#print 是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570203/

相关文章:

ruby-on-rails - JIRA API 和 jira4r gem

ruby-on-rails - 在索引文件中跟踪多个查询

java.util.concurrent.Future.get() 不返回

java - .start() 方法后的线程执行

java - Java HashMap 中的线程问题

c# - 进度栏不适用于zipfile?程序似乎挂起时如何给出反馈

ruby-on-rails - Rails v3/Ruby 1.9.2 中的字符编码问题

Ruby 将 64 位 IEEE 754 十六进制转换为 double

ruby-on-rails - HTTParty 的内存问题和下载大文件

C++:简单的多线程示例并不比单线程快