线程创建的2种方式:Runnable和Thread
1、继承Thread类,override run方法,创建线程,启动线程。把自己的线程逻辑写到run方法中:

2、实现Runnable方法,Runnable是一个接口,所以要定义一个类MyThread去implements这个接口。
然后创建一个MyThread的对象mt,创建线程的时候要把mt作为参数传入。



44444444444
33333333333333
2222222222222
111111111111
两种线程的创建方式
线程创建的两种方式:
第二种方式:
线程创建的两种方式:
第一种方式:
多线程之 Thread 和 Runnable
线程创建的两种方式
继承Thread类:
class MyThread extends Thread{
public void run(){
'''''''''
}
}
MyThread mt = new MyThread(); //创建线程
mt.,start(); //启动线程
class MyThread implements Runnable接口,实现run()方法,然后MyThread作为参数传递到Thread类中 new Thread(new MyThread())
,-->start() 同一个Runnable对象作为参数同时传给三个Thread线程,所以ticketCount 在线程间是共享的。; 原来runnable是用来给线程共享的,从而实现多线程并发处理
线程的创建和启动

线程创建的两种方式
继承Thread类:
class MyThread extends Thread{
public void run(){
'''''''''
}
}
MyThread mt = new MyThread(); //创建线程
mt.,start(); //启动线程
创建线程的方式
课程学习目标
线程俩种方式
啊啊啊啊啊啊
线程的两种方式对比图
创建线程的两种方式
创建线程的两种方式
3
线程创建2
线程创建1