1.它们是什么
从某个意义上来讲,进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,有自己的储存空间,而线程是进程中的某个单一顺序的控制流,进程包含至少一个线程。
2.进程的特性
1>独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间。在没有经过进程本身运行的情况下是不能访问其中的内容的。
2>动态性:进程与程序的区别在于,程序是静态的,进程是动态的。程序只是一个静态的指令集合,而进程是一个正在系统中运行的指令集合。有了时间的概念,如生命周期;
3>并发性:进程之间,交替着执行。
3.线程的优势
1>进程之间不能共享内存,但是单线程之间共享内存很简单;
2>系统在创建进程时要为它分配资源空间,但是创建线程的代价比较小,所以创建多线程实现并发比创建多进程实现并发效率要好;
4.区别
1>进程占用内存空间,同一个进程中的不同线程共享进程中的内存;
2>进程之间是隔离的,同一个进程中的线程之间可以共享资源;
3>关闭进程,相应的线程会关闭,反之不一定;
4>线程又叫轻进程,一个进程中至少包含一个线程。
总结
1>一个进程至少包含一个线程,线程是进程的组成部分;
2>线程可以实现资源的共享,人为的控制程序的运行。