Java中程序、进程、线程的区别。

程序、进程、线程的区别。

程序(program):是一个指令的集合。程序不能独立执行,只有被加载到内存中,系统为他分配资源后才能执行。

进程(process):一个执行中的程序称为进程。

进程是系统分配资源的独立单位,每个进程战友特定的地址空间。

程序是进程的静态文本描述。进程是程序在系统内顺序执行的动态活动。

线程(thread):是进程的“单一的连续控制流程”。

线程是CPU调度和分配的基本单位,是比进程更小的能独立运行的基本单位,也被称为轻量级的进程。

线程不能独立存在,必须依附于某个进程,一个进程可以包括多个并行的线程。

附:Java创建线程的两种方式,事实上其本质是一样的,因为thread类本身是实现了runnable接口的。

public class MyDefinedThread extends Thread{

//重写run()方法
@Override
public void run() {
//把线程需要执行的任务写在run()方法里;
}

public static void main(String[] args) {
MyDefinedThread mdt = new MyDefinedThread();
mdt.start();

}

}

public class MyRunnable implements Runnable {

@Override
public void run() {
//把线程需要执行的任务写在run()方法里;
}

public static void main(String[] args) {
MyRunnable mr = new MyRunnable();
//mr并不是一个线程对象,而是要作为参数传递到thread的构造方法中;“th”才是一个线程对象
Thread th = new Thread(mr);
th.start();
}

}

原文地址:https://www.cnblogs.com/7758521gorden/p/8046869.html