多线程的创建方式
方式一:继承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条)