在介绍线程之前,我们就不得不想到一个词 "进程"。关于进程,我相信大家都有所了解。经常在面试的时候,面试官或多或少都会问到进程与线程的区别。
下面,我们就来了解"进程"这个概念:
引用百度百科上的介绍:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。大家或许不是很理解这句话,简单来说,当我们启动一个程序,例如QQ、微信、浏览器等,都会在系统中开启一个进程。下面我们通过任务管理器,能够看到当前系统所运行的进程。
现在,我们回到上一个问题,线程和进程的区别是什么呢?线程相当于是在进程中独立运行的子任务,一个进程可以包含多个线程,多个线程可以同时运行。多线程的出现,是为了我们更加充分的利用cpu资源,如果只有一个单线程,那么系统的执行能力就会特别低下,运行效率大大降低。
言归正传,当我们了解线程的概念之后,大家想不想更加深入的了解呢?听我慢慢道来。
我们在使用之前,首先需要了解一下线程的基本状态,如果连基本状态都不清楚,以后怎么能愉快的看bug呢,大家说是吧,死锁调