Ruby 支持多线程编程,通过使用 Thread 类可以创建和管理线程。下面是一个简单的 Ruby 多线程示例:
# 创建一个简单的线程
thread1 = Thread.new do
  5.times do |i|
    puts "Thread 1: #{i}"
    sleep 1
  end
end

# 创建另一个线程
thread2 = Thread.new do
  5.times do |i|
    puts "Thread 2: #{i}"
    sleep 1
  end
end

# 等待两个线程完成
thread1.join
thread2.join

puts "Main thread exiting."

在这个例子中,我们创建了两个线程 thread1 和 thread2,它们分别打印 0 到 4 的数字。sleep 1 模拟了一些工作在每次循环之间的执行时间。thread1.join 和 thread2.join 会等待两个线程执行完毕,然后主线程打印 "Main thread exiting."。

需要注意的是,Ruby 中的线程是由操作系统的线程实现的,而不是纯粹的用户空间线程。这意味着在多线程编程时需要小心共享数据和同步问题,以避免竞态条件等并发问题。可以使用互斥锁(Mutex)等机制来保护共享资源。


转载请注明出处:http://www.pingtaimeng.com/article/detail/13453/Ruby