在Ruby中,可以使用線程和進程來實現并發和并行編程。
1、線程:Ruby提供了Thread類來支持線程??梢酝ㄟ^創建線程對象并調用start方法來啟動線程,然后在線程中執行需要并發執行的代碼。例如:
```ruby
thread1 = Thread.new {
# 并發執行的代碼
}
thread2 = Thread.new {
# 并發執行的代碼
}
thread1.join
thread2.join
```
2、進程:Ruby提供了Process類來支持進程??梢酝ㄟ^調用fork方法來創建新進程,并在子進程中執行需要并行執行的代碼。例如:
```ruby
pid = Process.fork do
# 并行執行的代碼
end
Process.wait(pid)
```
需要注意的是,線程是輕量級的,多個線程共享同一進程的資源,而進程是獨立的,每個進程有自己的獨立內存空間和資源。在并發編程中需要考慮線程安全性和資源競爭的問題。