首页 > 代码库 > 多线程2
多线程2
创建多线程的方式一:通过继承方式
创建多线程的方式二:通过实现方式
二者比较:
1 联系:public class Thread implements Runnable
2 实现方式好:1)避免java单继承的局限性
2)如果多个线程要操作同一份资源(或数据),更适合使用实现的方式
package lianxi1;//方式一:继承方式创建多线程class Window extends Thread{ static int ticket = 100; public void run(){ while(true){ if(ticket>0){ System.out.println(Thread.currentThread().getName()+" "+ticket--); } else{ break; } } }}public class TestThreadWindow { 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"); w1.start(); w2.start(); w3.start(); }}
package lianxi1;//方式二:实现方式创建多线程class Window2 implements Runnable{ private int ticket = 100; //不用static,只创建一个对象 public void run(){ while(true){ if(ticket>0){ System.out.println(Thread.currentThread().getName()+"售票号码 :"+ticket--); } else{ break; } } }}public class TestThreadWindow2 { public static void main(String[] args) { Window2 w2 = new Window2(); Thread t1 = new Thread(w2); //将Runnable实现类对象作为形参传人Thread构造器,执行start方法 Thread t2 = new Thread(w2); Thread t3 = new Thread(w2); t1.setName("窗口1"); t2.setName("窗口2"); t3.setName("窗口3"); t1.start(); t2.start(); t3.start(); }}
多线程2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。