黑马程序员技术交流社区

标题: 学了多线程知道有很多的优点,那多线程有什么缺点呢? [打印本页]

作者: 王富恒    时间: 2012-1-3 21:40
标题: 学了多线程知道有很多的优点,那多线程有什么缺点呢?
本帖最后由 王富恒 于 2012-1-3 21:57 编辑

多线程有很多优点,但我想也应该有多缺点才对,麻烦指教一二
作者: 郑文    时间: 2012-1-3 21:56
(1)等候使用共享资源时造成程序的运行速度变慢。这些共享资源主要是独占性的资源 ,如打印机等。
(2)对线程进行管理要求额外的 CPU开销。线程的使用会给系统带来上下文切换的额外负担。当这种负担超过一定程度时,多线程的特点主要表现在其缺点上,比如用独立的线程来更新数组内每个元素。
(3)线程的死锁。即较长时间的等待或资源竞争以及死锁等多线程症状。
(4)对公有变量的同时读或写。当多个线程需要对公有变量进行写操作时,后一个线程往往会修改掉前一个线程存放的数据,从而使前一个线程的参数被修改;另外 ,当公用变量的读写操作是非原子性时,在不同的机器上,中断时间的不确定性,会导致数据在一个线程内的操作产生错误,从而产生莫名其妙的错误,而这种错误是程序员无法预知的。
作者: 郑文    时间: 2012-1-3 21:57
还有一个 多线程不利于调试代码




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2