# 创建一个简单的线程
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.zyzy.cn/article/detail/13453/Ruby