操作系统进程和线程的区别
- 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位.
- 线程:是进程的一部分,一个没有线程的进程可以被看作是单线程的,线程有时又被称为轻权进程或轻量级进程,也是CPU调度的一个基本单位.
线程的哪些资源共享,哪些资源不共享
- 共享的资源有:
- 堆 由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的
- 全局变量 它是与具体某一函数无关的,所以也与特定线程无关,因此也是共享的
- 静态变量虽然对于局部变量来说,它在代码中是"放"在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的
- 文件等公用资源 这个是共享的,使用这些公共资源的线程必须同步.win32提供了几种同步资源的方式,包括信号,临界区,事件和互斥体.
- 独享的资源有:
- 栈
- 寄存器
Linux查询进程指令,查询端口
- 查询进程:
ps命令用于查看当前正在运行的进程.
grep是搜索
例如:ps -ef | grep Java
表示查看所有进程里CMD是Java的进程信息
ps -aux | grep java
-aux显示所有状态
进程间的通信方式有哪些
- 无名管道:半双工的通信方式,数据只能单向流动且只能在具有亲缘关系的进程间使