java中线程池为啥用hashset实现?

java中线程池为啥用hashset实现?

/**
* Set containing all worker threads in pool. Accessed only when
* holding mainLock.
*/
private final HashSet workers = new HashSet();

HashSet:自动消除重复的数据,确保不会出现单个线程有多个entry,并且保持高效率。