多线程三种创建方式:
1.继承Thread类
2.实现Runnable接口
3.实现Callable接口
Thread
自定义类继承Thread类
重写run方法,编写线程执行体
创建线程对象,调用start()方法启动线程
ps:线程开启不一定立即执行,由cpu调度
public class TestThread extends Thread{
@Override
public void run(){
for(int i=0;i<20;i++){
System.out.println("BBB");
}
}
public static void main(String[] args) {
TestThread testThread = new TestThread();
testThread.start();
for(int i=0;i<200;i++){
System.out.println("AAA");
}
}
}
实现Runnable
1.定义MyRunnable类实现Runnable接口
2.实现run方法,编写线程执行体
3.创建线程对象,调用start()方法启动
public class TestThread implements Runnable{
@Override
public void run(){
for(int i=0;i<20;i++){
System.out.println("BBB");
}
}
public static void main(String[] args) {
TestThread testThread = new TestThread();
new Thread(testThread).start();
for(int i=0;i<200;i++){
System.out.println("AAA");
}
}
}
多线程并发执行的时候,可能会对操作同一资源,造成资源混乱,也就是线程不安全问题。