多线程与单线程的区别
1。生活举例
你早上上班,正要打卡的时候,手机响了。。你如果先接了电话,等接完了,在打卡,就是单线程。
如果你一手接电话,一手打卡。就是多线程,2件事的结果是一样的。。你接了电话且打了卡。
在写程序中:
2.单线程只能执行完第一个任务之后才能执行下一个
而多线程 中 有很多个 单线程 同时执行任务
1.单线程弊端:
1 : 比较慢
2: 没有多线程快
2.多线程弊端:
1)访问共享资源时要小心,需要更多的锁资源,同步更加复杂。
2)内存占用更多,资源开销更大 占用CPU 资源较大。
3)需要额外的线程调度和管理。如需要CPU时间来跟踪线程, CUP 资源 好比是你的电脑或内存。
好处:一定程度上提高响应速度,在多任务的情况下更能充分利用CPU资源的。
坏处:增加了调度和管理的开销,带来了一些不确定性,需要复杂的同步机制,避免死锁等等。