join:阻塞调用线程,执行自己,执行完毕回到主线程。
一般使用情况,主线程需要使用子线程的计算结果
interrupt:
当调用线程处于waitjoinsleep状态时,唤醒此线程,中断此线程,直接抛出异常
sleep:在进行耗时循环操作时,暂停一会,让其他线程工作,通俗的说让cpu干点别的事,别被我一直占着
abort:退出线程,无法唤醒
以下时候适合自己创建线程,而不使用线程池。不是太理解,先放在这里吧
1. 需要前台线程。(线程池线程“始终”是后台线程)
2. 需要使线程具有特定的优先级。(线程池线程都是默认优先级,“不建议”进行修改)
3. 任务会长时间占用线程。由于线程池具有最大线程数限制,因此大量占用线程池线程可能会阻止任务启动。
4. 需要将线程放入单线程单元(STA)。(所有ThreadPool线程“始终”是多线程单元(MTA)中)
5. 需要具有与线程关联的稳定标识,或使某一线程专用于某一任务。