文章目录
1 并发和并行
1.1 并发
1.2 并行
2 程序、进程、线程
2.1 程序
2.2 进程
2.3 线程
2.3.1 守护线程
2.4 Java多线程
2.4.1 多线程的创建方式
2.4.1.1 继承Thread类,重写run方法
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("MyThread...run...");
}
public static void main(String[] args) {
MyThread t1 = new MyThread() ;
MyThread t2 = new MyThread() ;
t1.start();
t2.start();
}
}
2.4.1.2 实现runnable接口,重写run方法
public class MyRunnable implements Runnable{
@Override
public void run() {
System.out.println("MyRunnable...run...");
}
public static void main(String[] args) {
MyRunnable mr = new MyRunnable() ;
Thread t1 = new Thread(mr) ;
Thread t2 = new Thread(mr) ;
t1.start();
t2.start();
}
}
2.4.1.3 实现callable接口,重写call方法
2.4.1 线程的生命周期
| 状态 | 解释 |
|---|
| NEW | 创建线程,未启动即还没有调用start方法 |
| runable | 可运行状态, 当调用start方法,线程处于可运行状态,等待CPU的调度 |
| blocked | 阻塞状态,当一个线程试图获取一个对象锁,但是这个对象被其他线程持有,则该线程进入阻塞状态,只有当该线程持有锁是,该线程才是可运行状态 |
| waiting | 等待状态, |
| |