Java利用线程实现火车售票模式
-------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖{:1_919:}{:1_919:}{:1_889:}-------------
第三贴,今晚写个利用线程实现火车票售票模式,纯当小白学习及老哥们复习
我觉得。。写上项目名+包名+类名是不是太基础了,,,
好趴,还是写上吧!!!
项目名:Thread
--------------www.threadRaix.com
--------------------testTrain.java
----------------------start------------------------
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方法
publicvoid 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();
}
}
--------------------------------教程结束,基本关键部分代码都写了注释----------------------------------------------------------
--------------------------------本代码纯属手敲,复制粘贴锻炼不大,因为我也是新手之一,以后就做个代码搬运工惹--------
--------------------------------大佬勿喷,,暴躁老哥欢迎欢迎,我就喜欢这样的老哥,嘿嘿嘿---------------------------------
--------------------------------会的就当作复习一遍咯,嘿嘿嘿嘿,新手可以模范试试哈-----------------------
--------------------------------官方大大,如果有误,一定提醒我或者帮我修改下噻,不要删帖不要删帖{:1_893:}{:1_893:}{:1_936:}---------------
mj2013ly 发表于 2019-11-27 08:36
ReentrantLock rt这个有何意义,整个程序都没调用过
忘记注释了,,,,{:1_890:} 重入锁new了也没用? rt是干嘛的?也没见调用啊 ReentrantLock rt这个有何意义,整个程序都没调用过 可以加个好友一起学习下吗 我在学JAVA 黑马java教学就有这个
ReentrantLock rt = new ReentrantLock();
开头的这段代码的作用是? 兄弟你这里的写法有问题。
synchronized 的是比较老的j2ee实现的内置的锁,比较重型的。。你用了ReentrantLock锁,就没有必要用那个了。。。直接用这个手工来开关ReentrantLock锁就行了。。
BlueMoonWolf 发表于 2019-12-5 23:20
兄弟你这里的写法有问题。
synchronized 的是比较老的j2ee实现的内置的锁,比较重型的。。你用了Reentrant ...
知道惹 知道惹
页:
[1]