• thread跟Runnable实现多线程


     1 //两种实现方式的区别和联系:
     2 //在程序开发中只要是多线程肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下好处:
     3 //避免点继承的局限,一个类可以继承多个接口。
     4 //适合于资源的共享  10张票没有资源共享
     5 public class TicketThreadImpl implements Runnable {
     6     private int ticket=10;
     7     public void run(){
     8         for(int i=1;i<=20;i++){
     9             if(ticket>0)
    10             System.out.println("线程开始:"+ticket--);            
    11         }    
    12     }
    13     public static  void main(String args[]){
    14         TicketThreadImpl m1=new TicketThreadImpl();
    15         //TicketThreadImpl m2=new TicketThreadImpl();
    16         //TicketThreadImpl m3=new TicketThreadImpl();
    17         new Thread(m1).start();//同一个mt,但是在Thread中就不可以,如果用同一
    18         new Thread(m1).start();//个实例化对象mt,就会出现异常  
    19         new Thread(m1).start();
    20     }
    21 
    22 }
     1 //继承Thread方式
     2 public class TicketThread extends Thread{
     3     private int ticket=10;
     4     public void run(){
     5         for(int i=1;i<=10;i++)
     6         {
     7             if(ticket>0)
     8             System.out.println("线程开始:"+ticket--);            
     9         }
    10     }
    11     public static void main(String args[])
    12     {
    13         TicketThread m1=new TicketThread();//每个线程都各卖了10张,共卖了30张票  
    14         TicketThread m2=new TicketThread();//但实际只有10张票,每个线程都卖自己的票  
    15         TicketThread m3=new TicketThread();//没有达到资源共享  
    16         m1.start();
    17         m2.start();
    18         m3.start();
    19         
    20     }
    21     
    22 
    23 }
    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    反射学习笔记
    路由机制
    缓存笔记
    进程和线程
    垃圾回收机制
    堆和栈
    值类型和引用类型及参数传递
    招到一个程序员很难吗?
    全面讲解:委托、事件
    struts2入门实例
  • 原文地址:https://www.cnblogs.com/zzzzw/p/4934458.html
Copyright © 2020-2023  润新知