为什么使用多线程:
进程是分配资源的最小单位,一旦创建一个进程就会分配一定的资源,就像跟两个人聊微信就需要打开两个微信软件一样,是比较浪费资源的。
线程是程序执行的最小单位,实际上进程值负责分配资源,而利用这些资源执行程序的就是线程,也就是说进程是线程的容器,一个进程最少有一个线程来负责执行程序,同时线程自己不拥有系统资源,只需要一点儿运行中必不可少的资源,但它可与同属一个进程的其他线程共享进程所拥有的全部资源。这就像通过一个微信软件(一个进程)打开两个窗口(两个线程)跟两个人聊天一样,实现多任务的同时也节省了资源。
进程和线程的对比:
关系对比
1.线程是依附在进程里面的,没有进程就没有线程。
2.一个进程默认提供一条线程,进程可以创建多个线程。
区别对比
1.进程之间不共享全局变量
2.线程之间共享全局变量,大师要注意资源竞争的问题,解决办法:互斥锁或者线程同步
3.创建进程的资源开销要比创建线程的资源开销要大
4.进程是操作系统资源分配的基本单位,线程是CPU调度的基本单位
5.线程不能够独立执行,必须依存在进程中。
优缺点对比:
1.进程优缺点:
优点:可以用多核
缺点:资源开销大
2.线程优缺点:
优点:资源开销小
缺点:不能使用多核。