线程
线程的优势
1、线程是基本的调度单元
2、单处理器系统,多线程可以提高吞吐率
3、多处理器系统,多线程可以提高CPU利用率
4、建模的简单,使用线程可以将复杂的工作流分解为一组简单的同步的工作流,每个工作流在每个单独的线程中运行,并在特定的同步的位置进行交互。
5、异步事件的简化处理
单线程阻塞IO,每个请求拥有自己的处理线程,就不会影响其他的请求。
6、响应更灵敏的界面
现代的GUI框架采用时间分发线程来代替主事件循环。
线程的缺陷
1、带来线程安全问题
2、活跃性问题
保证正确的事情一定会发生,避免无意当中造成的无限循环。
线程A在等待线程B释放其持有的资源,而线程B一直不释放该资源,那么线程A就会永久等待下去。
3、性能问题
线程调度,CPU频繁切换上下文,系统开销。
保存恢复上下文,丢失局部性
线程共享数据,同步机制影响编译器的优化,造成缓存数据无效,增大内存流量。
线程的应用
1、java应用程序,jvm开启主线程
2、Timer类:使任务在稍后的时刻运行,或运行一次,或周期性运行。
3、Servlet、JSP:处理多个请求
4、远程方法调用:确保同一个对象在多个线程当中被调用。
com from Jhon95

浙公网安备 33010602011771号