线程与进程

进程:运行在系统中的任务,程序的一次执行。

线程:运行在进程中的任务,可以理解为进程中的执行的一段程序片段。

一个进程至少要有一个主线程。

线程的八个状态

1:新建

2:就绪

3:运行

4:死亡

在运行状态中又有4个状态

1:睡眠(sleep)自然醒.

2:等待(wait)需要别人叫才会醒

3:挂起(yield)让出本次CPU的执行权

4:阻塞(IO)让用户输入才能运

  进程是拥有资源的,有独立的虚拟地址空间,可以独立执行的基本单位 线程没有资源,只能依赖于进程执行

  进程可以多线程。 线程可以创建进程。

在一个多任务环境中下面的概念可以帮助我们理解两者间的差别: 进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。 同一进程中的两段代码不能够同时执行,除非引入线程。 线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。 线程占用的资源要少于进程所占用的资源。 进程和线程都可以有优先级。 在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程。

原文地址:https://www.cnblogs.com/wsdjxhnwy/p/3717971.html