wait()和 sleep()的区别?
1. 来自不同的类
wait():来自 Object 类;
sleep():来自 Thread 类;
2.关于锁的释放:
wait():在等待的过程中会释放锁;
sleep():在等待的过程中不会释放锁
3.使用的范围:
wait():必须在同步代码块中使用;
sleep():可以在任何地方使用;
4.是否需要捕获异常
wait():不需要捕获异常;
sleep():需要捕获异常;
为什么需要线程池:
在实际使用中,线程是很占用系统资源的,如果对线程管理不完善的话很容易导致
系统问题。因此,在大多数并发框架中都会使用线程池来管理线程,使用线程池管理线程主
要有如下好处:
1、使用线程池可以重复利用已有的线程继续执行任务,避免线程在创建销毁时造成的消耗
2、由于没有线程创建和销毁时的消耗,可以提高系统响应速度
3、通过线程可以对线程进行合理的管理,根据系统的承受能力调整可运行线程数量的大小
等