多线程

(1)实现多线程第一种方法
public class Demo{
     public static void main(String args[]){
     new TestThread().start();
     while(ture){
                     System.out.println("main():"+Thread.currentThread().getName());
                     }     
                                          }

}
   class TestThread extends Demo{
       public void run(){
         while(ture){
                     System.out.println("run()"+Thread.currentThread().getName());
                     }
           }
                   }
(2)
currentThread()获得当前的进程,他是Thtead的静态方法;
类名.currentThread()
单线程和多线程的关系:
单线程和多线程:总量一样,多线程同时进行多个,但总量不变。
类要实现接口implements,
Runnable接口里边只有一个run();Runnable target;
(3)实现多线程第二种方法
public class Demo{
     public static void main(String args[]){
     //new TestThread().start();
     TestThread a=new TestThread();
     Thread t=new Thread(a);
     t.start();
     while(ture){
                     System.out.println("main():"+Thread.currentThread().getName());
                     }     
                                          }

}
   class TestThread implements Runnable{
       public void run(){
         while(ture){
                     System.out.println("run()"+Thread.currentThread().getName());
                     }
           }
                   }

(4)四个窗口卖400张票
public class Demo{
     public static void main(String args[]){
     new TestThread().start();
     new TestThread().start();
     new TestThread().start();
     new TestThread().start();      
                                          }

}
  class TestThread extends Demo{
       public int tickets=100;
       public run();
       while(){
         if(tickets>0){System.out.println(Thread.currentThread().getName()+"卖票"+tickets--);}
}
                   }
(5)100张票四个窗口卖
public class Demo{
     public static void main(String args[]){
    TestThread a=new  TestThread();
     new Thread(a).start();
     new Thread(a).start();
     new Thread(a).start();     
     new Thread(a).start();                                     }

}
  class TestThread implements Runnable{
       public int tickets=100;
       public run();
       while(){
         if(tickets>0){System.out.println(Thread.currentThread().getName()+"卖票"+tickets--);}
}
                   }
(6)
前台线程和后台线程
在调用start之前先调用set startDaenon(bool)
前台线程结束后进程也会随着结束,有后台进程的时候前台结束进程也不会结束
后台线程:TestThread a=new  TestThread();
          Thread tt=new Thread();
          tt.setDaenon(true);
          tt.start();
(7)
public class Test{
     public static void main(String args[]){
        TestThread a=new TestThread();
        Thread tt=new Thread(a);
        tt.start();
        int i=0;
        while(i=100){
          try{
          tt.join(); }catch(exception e){e.printStackTrace();
                     
                            }
                System.out.println("main:"+i++);
}
                                    }

}
  class TestThread implements Runnable{
   public void run(){
   int i=0;
   while(true){
           
System.out.println(Thread.currentThread().getName()+i++;
              }

}
                   }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值