一.从一个例子开始 看着Java线程执行起来的那种任性和随意,我们不免会问:是谁在主导Java线程的执行?它按照什么样的策略来调度Java线程?本文将带着这样的问题,探讨Java线程的调度机制。 程序的问题还是先从代码说起吧,下面是一个广泛引用的例子: 假设某航班有100张余票,现有10个窗口(线程)同时卖这100张票。下面程序实现了10个线程并发执行的过程。 // sched 类 // 创建多线程模拟多窗口售票,演示java线程的并发运行状况,说明java和操作系统的线程调度策略 class sched implements Runnable { ...