2009-10-17 22 views

回答

3

是的,我認爲在庫代碼中使用ThreadPool是合適的。即使用戶可以在外面使用ThreadPool,ThreadPool仍然足以調整自身。

。另一方面,作爲一個庫開發人員,你應該提供的靈活性:用戶可以選擇使用線程池,一個特定的線程(S),甚至是第三方線程池實現。

1

是。

只要它是有據可查的,你提供的方法,使圖書館的用戶控制線程池,如最小/最大線程數,也許不使用線程池在所有的選項。

你也應該讓很清楚裏面露出庫的部分是線程安全的,哪些不是。

0

ThreadPool被設計爲可以被多個組件同時使用。因此,如果從您的特定庫中使用它,它本身不會出現特別的問題。

什麼可以是一個問題是在你的庫中的線程行爲。必須清楚地記錄你的庫的線程語義。如何創建和使用這些線程應該是一個實現細節。 ThreadPool本身不應該出現問題,除非它的一個固有屬性(COM套件關聯,無法取消線程等)給您的API或消費者帶來問題。

相關問題