按视频上多线程部分的一个关于售票的例子
代码:- public class Test4_6{
- /**
- * 简单的多线程卖票程序,证明继承Thread类这种方法不合适
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Tickets t=new Tickets();
-
- 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();
-
- }
- }
- class Tickets implements Runnable{
- private static int num=100;//总共100张票,所有窗口共同卖,所以用静态
-
- public void run(){
- while(num>0){
- System.out.println(Thread.currentThread().getName()+"----卖出----第"+num+"张票");
- num--;
- }
- }
- }
复制代码 运行的结果前几行是:- Thread-1----卖出----第100张票
- Thread-2----卖出----第100张票
- Thread-0----卖出----第100张票
- Thread-2----卖出----第98张票
- Thread-3----卖出----第99张票
- Thread-1----卖出----第99张票
- Thread-3----卖出----第95张票
- Thread-3----卖出----第93张票
- Thread-2----卖出----第96张票
- Thread-0----卖出----第97张票
- Thread-2----卖出----第91张票
- Thread-3----卖出----第92张票
复制代码 到后面就正常了,我想问一下是不是因为处理器是多核的原因啊?????
这块真心不熟,求指教
|
|