优点:

1 在不超过系统负载的情况下,多线程能获取更多的时间片,线程是CPU调度和分派的基本单位;

2 在CPU不忙时,提高磁盘和CPU的利用率,比如在等待IO操作时,CPU空闲的话,就导致CPU利用率不高;

缺点:

1 数据共享问题,要注意进行正确的线程同步;

2 上下文切换的开销,当CPU从执行一个线程切换到执行另外一个线程的时候,它需要先存储当前线程的本地的数据,程序指针等,然后载入另一个线程的本地数据,程序指针 等,最后才开始执行。这种切换称为“上下文切换”(“context switch”)

3 增加资源的消耗,线程在运行的时候需要从计算机里面得到一些资源。除了CPU,线程还需要一些内存来维持它本地的堆栈。它也需要占用操作系统中一些资源来管理线程。

 

参考链接:http://ifeve.com/benefits/

标签: none

添加新评论