- class Ticket implements Runnable
- {
- private int tick = 1000;
- Object obj = new Object();
- public void run()
- {
- while(true)
- {
- synchronized(obj)
- {
- if(tick>0)
- {
- System.out.println(Thread.currentThread().getName()+"....sale : "+ tick--);
- }
- }
- }
- }
- }
- class TicketDemo2
- {
- public static void main(String[] args)
- {
- Ticket t = new Ticket();
- Thread t1 = new Thread(t);
- Thread t2 = new Thread(t);
- Thread t3 = new Thread(t);
- Thread t4 = new Thread(t);
- t1.start();
- t2.start();
- t3.start();
- t4.start();
- }
- }
复制代码 假设我的文件存储路径为
E:\code
在DOS命令行窗口下,应该这样子
E:\code>javac TicketDemo2.java
E:\code>java TicketDemo2
程序运行完毕,DOS命令行窗口应该会停留在
E:\code>
这里,等待我输入下一个指令
以前都是这样子的,但是现在我学习到多线程,运行代码的时候,
每次都需要我自己强制停止一次程序运行才会结束。
求解释。
|
|