程序:Program,是一个指令的集合。
进程:Process,(正在执行中的程序)是一个静态的概念。
1,进程是程序的一次静态态执行过程, 占用特定的地址空间.
2,每个进程都是独立的,由3部分组成cpu,data,code
3,缺点:内存的浪费,cpu的负担
线程:是进程中一个“单一的连续控制流程” (进程中的一个任务或一条命令)。
1,线程又被称为轻量级进程(lightweight process)。
2,一个进程可拥有多个并行的(concurrent)线程
3,一个进程中的线程共享相同的内存单元/内存地址空间可以访问相同的变量和对象,而且它们从同一堆中分配对象通信、数据交换、同步操作
4,由于线程间的通信是在同一地址空间上进行的,所以不需要额外的通信机制,这就使得通信更简便而且信息传递的速度也更快。
注意:
1,一个进程中至少有一个线程
2,一个进程中的线程共享代码和数据空间
java实现多线程的方法:
1.继承Thread类重写run方法
2.实现Runnable接口重写run方法
因为java是单继承多实现的,继承往往会被占用,而无法通过
Thread类实现多线程,但是可以通过实现Runnable接口而达到目的。
同时可以实现资源共享
注意:
必须继承Thread类实现Runnable接口