
多线程的创建方式
方式一:继承Thread类:
- 创建一个继承Thread类的子类
- 重写Thread类中的run方法
- 创建Thread子类对象
- 通过此对象调用start()方法
public class ThreadDemo1{
public static void main(String[] args) {
// window w1=new window();
// window w2=new window();
// window w3=new window();
//
// w1.setName("窗口1");
// w2.setName("窗口2");
// w3.setName("窗口3");
window w1=new window("窗口1");
window w2=new window("窗口2");
window w3=new window("窗口3");
w1.start();
w2.start();
w3.start();
}
}
class window extends Thread{
private String name;
private static int kicket=20;
public window(String name){
this.name=name;
}
public void run(){
while(kicket>0){
System.out.println(name+"售卖第"+kicket--+"张票");
System.out.println(getName());
// System.out.println(Thread.currentThread().getName());
}
}
}
方式二:实现Runable接口
- 创建一个实现Runable接口的类
- 实现Runable接口中的run方法
- 创建实现Runable接口的类的对象
- 将此对象作为参数传递到Thread类中的构造方法中,创建Thread类的对象
- 通过Thread类的对象调用start()
class MyThread implements Runnable {
private String name;
private int kicket=20;
public MyThread(String name){
this.name=name;
}
@Override
public void run() {
while(kicket>0){
System.out.println(Thread.currentThread().getName()+name+":"+kicket--);
}
}
}
public class TreadDemo2 {
public static void main(String[] args) {
MyThread my=new MyThread("买票");
new Thread(my,"窗口1").start();
new Thread(my,"窗口2").start();
new Thread(my,"窗口3").start();
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)