0_简介_chapter01_简介_1_简介
2019-01-21 本文已影响0人
米都都
-
线程的优势
(1) 发挥多处理器的强大能力
(2) 建模简单
每个线程只包含一种类型的任务,方便编写和测试
(3) 异步事件的简化处理
使用非阻塞IO的复杂性远远高于同步IO
(4) 响应更灵敏的用户界面
-
线程带来的风险
(1) 安全性问题
带来不可预测的结果
(2) 活跃性问题
死锁、活锁、饥饿问题
(3) 性能问题
线程切换需要时间
-
已经存在的线程的应用
即使在程序中没有显式的创建线程,很有可能也使用了多线程
(1) JVM启动时,创建后台线程,用于垃圾收集等
(2) java.util.Timer类
(3) Servlet和JSP
如果没有在分布式环境部署,则web.xml中声明了几个Servlet就创建几个Servlet实例。因此一个Servlet实例可能会被多个线程使用,需要是线程安全的
(4) Swing和AWT
有一个事件分发线程,当某个用户界面事件发生时,在事件线程中调用应用程序的事件处理器