1.什么是进程
进程是指在系统中正在运行的一个应用程序
每个进程之间都是相互独立的,每个进程均运行在其专用且受保护的内存空间内
2.什么是线程
一个进程想要执行任务,必须得有线程(至少有一条线程)
一个进程的所有任务都在线程中执行
一个线程中任务的执行是串行的(一个一个完成)
3.线程、进程的区别
线程是CPU调用(执行任务)的最小单位
进程是CPU分配资源和调度的单位
一个程序可以有多个进程,比如QQ程序,可以 command + n再开一个进程.
一个进程中可以有多个线程,但必须至少有一条线程
同一个进程内的线程共享进程的资源
前面介绍完以后,现在进入多线程
1.什么是多线程?
一个进程中可以开多个线程,每条线程可以同时(并行)执行不同任务.
2.多线程原理
在同一时间,单核情况下,CPU只会处理一条线程,其实就有一条线程在执行任务,只不过在几个任务之间快速(调度)切换,就造成了多个任务同时执行的假象.如果开的线程过多,就会造成CPU累死,消耗大量CPU资源(一般3-5条)
3.多线程的优缺点
3.1 能适当提高程序的执行率
3.2 提高CPU资源的利用率
3.3 如果开启大量线程,会降低程序的性能
3.4 线程越多,CPU在调度线程上消耗的资源就越大
3.5 程序设计更加复杂:比如线程之间的通讯,多线程的数据共享
网友评论