java线程

Posted 思辨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java线程相关的知识,希望对你有一定的参考价值。

package xiancheng;

//Thread类实现了Runnable 接口

//比较两者的范例

//程序ThreadDemo_3.java 是一饿模拟铁路售票系统的范例,实现4个售票点来发售某日某次列车的车票20张,一个售票点用一个线程来表示。



public class ThreadDemo_3{
    public static void main(String[] args){
//        TestThread t= new TestThread();
//        //一个线程对象只能启动一次
//        t.start();
//        t.start();
//        t.start();
        
//        new TestThread().start();
//        new TestThread().start();
//        new TestThread().start();
//        new TestThread().start();
//        //这四个对象各自有各自的资源,可以得出结论:用Thread类实际上无法达到自愿共享的目的
//        
        
        
        TestThread t= new TestThread();
        //启动了四个线程,并实现自愿共享的目的
        new Thread(t).start();
        new Thread(t).start();
        new Thread(t).start();
        new Thread(t).start();
        
        
        
        
        
    }
}
//class TestThread extends Thread{
//    private int tickets=20;
//    public void run(){
//        while(true){
//            if(tickets>0){
//                System.out.println(Thread.currentThread().getName()+"出售票"+tickets--);
//                //Thread.currentThread().getName()  取得当前线程的名称
//            }
//        }
//        
//    }
//}



class TestThread implements Runnable{
    private int tickets=100;
    public void run(){
        while(true){
            if(tickets>0){
                System.out.println(Thread.currentThread().getName()+"出售票"+tickets--);
            }
        }
    }
}



一共对比了三种实现的方法


上述代码执行结果
Thread-0出售票100
Thread-0出售票99
Thread-0出售票98
Thread-0出售票97
Thread-0出售票96
Thread-0出售票95
Thread-0出售票94
Thread-0出售票93
Thread-0出售票92
Thread-0出售票91
Thread-0出售票90
Thread-0出售票89
Thread-0出售票88
Thread-0出售票87
Thread-0出售票86
Thread-0出售票85
Thread-0出售票84
Thread-0出售票83
Thread-0出售票82
Thread-1出售票81
Thread-0出售票80
Thread-1出售票79
Thread-0出售票78
Thread-1出售票77
Thread-0出售票76
Thread-2出售票74
Thread-1出售票75
Thread-2出售票72
Thread-0出售票73
Thread-0出售票68
Thread-0出售票67
Thread-0出售票66
Thread-0出售票65
Thread-0出售票64
Thread-0出售票63
Thread-0出售票62
Thread-0出售票61
Thread-0出售票60
Thread-0出售票59
Thread-0出售票58
Thread-0出售票57
Thread-0出售票56
Thread-0出售票55
Thread-0出售票54
Thread-0出售票53
Thread-0出售票52
Thread-0出售票51
Thread-0出售票50
Thread-0出售票49
Thread-0出售票48
Thread-0出售票47
Thread-0出售票46
Thread-0出售票45
Thread-0出售票44
Thread-0出售票43
Thread-0出售票42
Thread-0出售票41
Thread-0出售票40
Thread-0出售票39
Thread-0出售票38
Thread-0出售票37
Thread-0出售票36
Thread-0出售票35
Thread-0出售票34
Thread-0出售票33
Thread-0出售票32
Thread-0出售票31
Thread-0出售票30
Thread-0出售票29
Thread-0出售票28
Thread-0出售票27
Thread-0出售票26
Thread-0出售票25
Thread-0出售票24
Thread-0出售票23
Thread-0出售票22
Thread-0出售票21
Thread-0出售票20
Thread-0出售票19
Thread-0出售票18
Thread-0出售票17
Thread-0出售票16
Thread-0出售票15
Thread-0出售票14
Thread-2出售票69
Thread-2出售票12
Thread-2出售票11
Thread-2出售票10
Thread-2出售票9
Thread-2出售票8
Thread-2出售票7
Thread-2出售票6
Thread-2出售票5
Thread-2出售票4
Thread-2出售票3
Thread-2出售票2
Thread-2出售票1
Thread-3出售票70
Thread-1出售票71
Thread-0出售票13

  

 








以上是关于java线程的主要内容,如果未能解决你的问题,请参考以下文章

Java工程师面试题,二级java刷题软件

java线程

Java——线程池

Java线程池详解

Java线程池详解

Java 线程池详解