1
JRuby對多線程的支持如何比Ruby的常規支持更好?簡單的舊Ruby中的線程有什麼問題?Ruby線程不夠好?
JRuby對多線程的支持如何比Ruby的常規支持更好?簡單的舊Ruby中的線程有什麼問題?Ruby線程不夠好?
「Normal」ruby(或mri)有一個很大的大鎖,可以防止一次運行多個線程運行ruby代碼(稱爲GIL或GVL)。
Rubinius和jruby沒有這個鎖。在ruby 1.8.x中,線程也是綠線程,但從ruby 1.9開始,ruby線程被映射到本地線程。 GVL阻止你獲得很多好處。
本機擴展可以運行鎖之外的代碼,這樣,例如,多個MySQL查詢可以同時從不同的線程運行,但他們不能打電話到普通的Ruby API時,他們不持有鎖
參看http://stackoverflow.com/questions/999482 – Jan
http://stackoverflow.com/questions/56087/does-ruby-have-real-multithreading – rohit89
感謝您的鏈接。 –