刚看到多线程,老师举了一个卖票的例子:定义4个窗口(线程),将100张票卖出并打印。代码如下:- class J11_1
- {
- public static void main(String[] args)
- {
- //新建4个窗口
- Ticket t1 = new Ticket();
- Ticket t2 = new Ticket();
- Ticket t3 = new Ticket();
- Ticket t4 = new Ticket();
-
- //开始窗口线程
- t1.start();
- t2.start();
- t3.start();
- t4.start();
- }
- }
- class Ticket extends Thread
- {
- //票的总数为100
- private static int num=100;
- public void run()
- {
- while(true)
- {
- //将100张票全部卖出,并打印
- if(num > 0)
- {
- System.out.println(currentThread().getName()+"sale:"+num--);
- }
- }
- }
- }
复制代码
结果如附件:
虽然是多线程,但语句的执行应该是100-1的顺序来执行吧。
结果却没有按照100-1的顺序打印,老师提到了这跟java调用了cmd有关,但还是不太理解。
|
|