Rozważam dwie różne metody wprowadzania współbieżności do programu Ruby. Obecnie rozwidlam ten proces, a widelce komunikują się za pośrednictwem bazy danych.
Niedawno dowiedziałem się o Revactor, któryobsługuje współbieżność przez Fibers. W przeszłości korzystałem z włókien i jestem pewien, że nie mogłyby one działać równolegle, ale twierdzą, że biblioteka na to pozwala.
Odp .: Czy Revactor jest naprawdę zbieżny?
B: Jeśli tak, to czy ktoś ma jakieś dane lub opinie na temat wpływu na szybkość przejścia na Revactor z a Process.fork
podejście?
Odpowiedzi:
0 dla odpowiedzi № 1Revactor jest „jedno nitkowy z włóknami” (tzwtylko jedno włókno na raz). Jest to teoretycznie lepsze niż „wielowątkowe”, ponieważ zapewnia współbieżność, ale wymaga tylko jednego wątku, dzięki czemu można skalować do wielu „wątków” (włókien).