进程概念
进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。
线程
线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。
“同时”执行是人的感觉,在线程之间实际上轮换执行。
定义线程有两种方式
扩展java.lang.Thread类。
实现java.lang.Runnable接口。
实例化线程
如果是扩展java.lang.Thread类的线程,则直接new即可。
如果是实现了java.lang.Runnable接口的类,则用Thread的构造方法
public class Test {
// 主线程
public static void main(String[] args) {
// 创建线程
Thread wct = new WriteCodeThread();
// 启动线程
wct.start();
while (true) {
System.out.println("听音乐");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class WriteCodeThread extends Thread {
// 在我们启动线程后,此线程会默认调用此方法。
@Override
public void run() {
while (true) {
System.out.println("敲代码");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class WriteCodeThread implements Runnable {
@Override
public void run() {
while(true) {
System.out.println("大口吃");
try {
Thread.sleep(1200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}