20.7. Ograniczanie liczby wątków z wykorzystaniem ich puli

Problem

Chcemy przetwarzać wiele wątków równolegle, ale niekoniecznie tak, by wszystkie żądania uruchamiały się jednocześnie. Wykorzystanie techniki pokazanej w „20.6. Równoległe uruchamianie bloku kodu dla wielu obiektów” może doprowadzić do utworzenia zbyt wielu wątków działających równocześnie, co w rezultacie spowolni średni czas odpowiedzi. Chcemy ustanowić limit liczby wątków działających równolegle.

Rozwiązanie

Można wykorzystać pulę wątków. Aby napisać serwer internetowy, który zapewnia równoległą obsługę żądań, należy skorzystać z modułu gserver, tak jak pokazano w „14.14. Implementacja własnego serwera internetowego”: moduł ten implementuje pulę wątków oraz wiele ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.