-------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖------------- | 第三贴,今晚写个利用线程实现火车票售票模式,纯当小白学习及老哥们复习
我觉得。。写上项目名+包名+类名是不是太基础了,,,
好趴,还是写上吧!!!
项目名:Thread
--------------www.threadRaix.com
--------------------testTrain.java
----------------------start------------------------
[Java] 纯文本查看 复制代码 package www.threadRaix.com
import java.util.concurrtent.locks.ReentrantLock;
class WindowsTest implements Runnable{
private int num = 1; //次数
//显示加锁,效率高!
ReentrantLock rt = new ReentrantLock();
//同步代码块,加监视器,监视器是一个共享的对象
Object obj = new Object();
//启动线程,自动调用并重写run方法
public void run(){
while(true){
if(this.num > 0){
try{
//间隔1秒
Thread.sleep(100);
}catch(InterruptedException e){ //本来想直接写Exception,解决一切问题,,但是为了让新手知道,如果报错就知道是哪里
e.printStackTrace();
}
}
synchronized(obj){
if(this.num <= 100){
System.out.println(Thread.currentThread().getName() + "窗口正在出售【" + num++ +"】号票!");
}else{
break;
}
}
}
}
}
public class testTrain(){
public static void mian(String[] args){
WindowsTest threadOne = new WinwodsTest();
WindowsTest threadTwo = new WindowsTest();
WindowsTest threadThree = new WindowsTest();
new Thread(threadOne, "窗口一").start();
new Thread(threadTwo, "窗口二").start();
new Thread(threadThree,"窗口三").start();
}
}
--------------------------------教程结束,基本关键部分代码都写了注释----------------------------------------------------------
--------------------------------本代码纯属手敲,复制粘贴锻炼不大,因为我也是新手之一,以后就做个代码搬运工惹--------
--------------------------------大佬勿喷,,暴躁老哥欢迎欢迎,我就喜欢这样的老哥,嘿嘿嘿---------------------------------
--------------------------------会的就当作复习一遍咯,嘿嘿嘿嘿,新手可以模范试试哈-----------------------
--------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖---------------
|