1.进程
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
狭义定义:进程是正在运行的程序的实例。
广义定义:进程是具有一定独立功能的程序关于某个数据集合的一次运行活动,它是操作系统动态执行的基本单元。
特征:
动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生、动态消亡的。
并发性:任何进程都可以同其他进程一起并发执行。
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。
异步性:由于进程间的相互制约,使进程具有执行的间断性。
结构特征:进程由程序、数据和进程控制块三部分组成。
进程执行时间的间断性,决定了进程可能具有多种状态:就绪态、运行状态和阻塞状态。
2、线程
线程是程序执行流的最小单元。一个标准的线程由线程ID、当前指令指针、寄存器集合和堆栈组成。线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其他进程共享进程所拥有的全部资源。
一个线程可以创建和撤销另一个线程同一进程中的多个线程之间可以并发执行。
多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。
3、总结
了解线程和进程的关系与区别是程序员必须具备的基本素质,本人菜鸟一枚,刚学习没多久,如有错误,还望各位大牛指教!