Kayıtlarıma zaten kova sınıflandırılır (0, 1, 2, 3). Her kayda seri olarak bir işlev uygulamak yerine, dört iş parçacığı açmak ve işlevi bu iş parçacığı kümesindeki kayıtlara uygulamak istiyorum.Yakut çok parçacığı #join ve aynı anda yürütme bir veritabanında
Koşarsam bu:
i = 4
i.times do |n|
Thread.new {
puts "opening thread for #{n} degree"
myFunction(n)
}.join
end
alıyorum:
opening thread for 0 degree
opening thread for 1 degree
opening thread for 2 degree
opening thread for 3 degree
her biri arasında bekletilerek. Hala seri gidiyor.
Ben yukarıdaki gibi aynı şeyi, ama join
olmadan ise:
i = 4
i.times do |n|
Thread.new {
puts "opening thread for #{n} degree"
myFunction(n)
}
end
alıyorum:
ne istiyorum daha yakınopening thread for 3 degree
opening thread for 2 degreeopening thread for 0 degree
opening thread for 4 degree
; hepsi aynı anda çalışır gibi görünüyor. Benim koyar ifadeleri böyle gelişigüzel basılır zaman
O beni sinirlendiriyor. Orada join
yoksa, bu hangi iş parçacığının ilk önce sonlandığını, komut dosyasının geri kalanı devam ederken ve diğer iş parçacıklarının erken sona ereceği anlamına gelmez mi? Ne yapmalıyım?