一----进程与线程区别
1.定义方面:进程是程序的运行(是一个实体),线程是进程中的一个执行分支,(进程可以创建多个线程,),
2.角色方面:在支持线程机制的系统中,进程是系统资源分配的单位,线程是CPU调度的单位。
3.资源共享方面:进程之间不能共享资源,而线程共享所在进程的地址空间和其它资源。同时线程还有自己的栈和栈指针,程序计数器等寄存器。
4.独立性方面:进程有自己独立的地址空间,而线程没有,线程必须依赖于进程而存在。
5.其他:两者都可以并发
二----死锁
1.定义:死锁是指多个进程循环等待它方占有的资源而无限期僵持下去的局面。当两个或两个以上的进程同时对多个互斥资源提出使用要求时,有可能导致死锁
2.互斥条件:即一次只有一个进程可以使用资源,其它进程不能访问已经分配给其它进程的资源
3.占有且等待:一个进程等待其它进程释放资源的时候,它已知占有这个资源
4.不可抢占:其它进程不能强行占用已经分配给进程的资源
5.循环等待:存在一个闭合链,链中的进程至少占据链中下一个进程的所需的一个资源
三-----如何避免死锁
1.预防占有且等待&