2009-10-17 16 views

Odpowiedz

3

Tak.Myślę, że należy użyć ThreadPool w kodzie biblioteki. Nawet jeśli użytkownik może używać ThreadPool na zewnątrz, ThreadPool jest wciąż wystarczająco dobry, aby się dostroić.

Z drugiej strony, jako programista biblioteki, należy zapewnić elastyczność: użytkownik może wybrać ThreadPool, określony wątek lub nawet implementację puli wątków innej firmy.

1

Tak.

Dopóki jest dobrze udokumentowana i podajesz metody pozwalające użytkownikowi biblioteki kontrolować zawartość wątku, takie jak min./Maks., A może opcja nieużywania w ogóle nici.

Należy również ustawić jako bardzo jasne, które odsłonięte części biblioteki są wątkowo bezpieczne, a które nie.

0

ThreadPool jest przeznaczony do używania przez wiele komponentów jednocześnie. Więc samo w sobie nie stanowi szczególnego problemu, jeśli jest używane z konkretnej biblioteki.

To, co może być problemem, to ogólne nawiązywanie wątków w bibliotece. Musi być jasno udokumentowana, czym jest wątkowa semantyka twojej biblioteki. Sposób tworzenia i wykorzystywania tych wątków powinien być szczegółem implementacji. Sam ThreadPool nie powinien stanowić problemu, chyba że jedna z jego nieodłącznych właściwości (powinowactwo do mieszkania COM, brak możliwości anulowania wątków itp.) Stanowi problem dla twojego API lub konsumentów.

Powiązane problemy