一、关系对比
1、线程是依附在进程中的,没有进程就没有线程。
2、一个进程默认提供一条线程,进程可以创建多个线程。
二、区别对比
1、进程:
不共享全局变量
创建进程的资源开销大
进程是系统资源分配的基本单位
多进程 开发比 单进程的多线程 开发稳定性强。
适用于计算密集型的相关操作
2、线程
共享全局变量,注意资源竞争问题,解决方法:
1、线程同步
2、互斥锁
a、创建线程的资源开销小
b、线程是CPU调度的基本单位
c、线程不能独立执行,必须存于进程中
d、适用于非计算密集型的相关操作,例如:文件写入、文件下载、I/O操作等
e、线程没有内存,进程有内存
三、优缺点对比
1、进程:
优点:可以利用多核
缺点:资源开销大
2、线程:
优点:资源开销小
缺点:不能使用多核
四、进程管理命令:
ps:进程列表快照
top:交互进程观测
kill killall 结束进程
fg:进程切换到前台
bg:进程切换到后台
ctrl z : 挂起进程
实践应用
ps au -m :可以查看进程下面的线程数 (-au:显示较为详细的进程信息 -m:显示所有线程,-)
ps -o uname,pid,ppid,psr,thcount,tid,cmd -m(-o:自定义格式,eo:命令之后显示环境)
ps 基本命令参考:linux ps命令详解 - ZQ园林 - 博客园