在Linux环境下使用Ruby进行多线程编程,你可以使用Ruby的内置库Thread
- 导入Thread库:
require 'thread'
- 创建一个继承自Thread的类,并重写
initialize
和run
方法:
class MyThread < Thread
def initialize(name)
super()
@name = name
end
def run
puts "#{@name} is running."
end
end
- 创建多个线程实例:
threads = [] threads << MyThread.new("Thread 1") threads << MyThread.new("Thread 2") threads << MyThread.new("Thread 3")
- 启动线程:
threads.each(&:join)
将以上代码放入一个名为multithreading_example.rb
的文件中,然后在终端中运行ruby multithreading_example.rb
,你将看到以下输出:
Thread 1 is running. Thread 2 is running. Thread 3 is running.
注意:由于全局解释器锁(GIL)的存在,Ruby的多线程编程在CPU密集型任务中可能无法实现真正的并行执行。在这种情况下,你可以考虑使用多进程库(如Process
库)来实现并行执行。