线程---买票问题

来源:互联网 发布:网络课程运营 编辑:程序博客网 时间:2024/05/01 22:02
class Xc8 implements Runnable{    public static int chepiao=100;    static String aa=new String("1");//字符串随意定义,定义在函数上面(外面)    //synchronized(同步的意思)的作用是:让它所管辖的代码部分,要么全部执行完,要么全部不执行    public void run(){ //synchronized修饰函数不需要字符串,相当于this        while(true){            synchronized(aa){  //既可以修饰代码块,又可以修饰函数                //两个线程的(aa)都是线程自己的,并不是公共的,所以要在String aa=new String("1")前面加static;                if(chepiao>0){                    System.out.println("第"+Thread.currentThread().getName()+"个车站正在售卖第"+(101-chepiao)+"张票");                    --chepiao;                }else{                    break;                }            }           }    }}public class L6_8 {    public static void main(String[] args){        Xc8 xc81=new Xc8();        Thread ee=new Thread(xc81);        ee.start();        Xc8 xc82=new Xc8();        Thread ff=new Thread(xc82);        ff.start();    }}
0 0
原创粉丝点击