进程:运行在系统中的任务,程序的一次执行。
线程:运行在进程中的任务,可以理解为进程中的执行的一段程序片段。
一个进程至少要有一个主线程。
线程的八个状态
1:新建
2:就绪
3:运行
4:死亡
在运行状态中又有4个状态
1:睡眠(sleep)自然醒.
2:等待(wait)需要别人叫才会醒
3:挂起(yield)让出本次CPU的执行权
4:阻塞(IO)让用户输入才能运
进程是拥有资源的,有独立的虚拟地址空间,可以独立执行的基本单位 线程没有资源,只能依赖于进程执行
进程可以多线程。 线程可以创建进程。
在一个多任务环境中下面的概念可以帮助我们理解两者间的差别: 进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。 同一进程中的两段代码不能够同时执行,除非引入线程。 线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。 线程占用的资源要少于进程所占用的资源。 进程和线程都可以有优先级。 在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程。