Java基础--多线程--售票
static Thread
currentThread()
返回对当前正在执行的线程对象的引用。
long
getId()
返回该线程的标识符。
int
getPriority()
返回线程的优先级。
Thread.State
getState()
返回该线程的状态。
static void
sleep(long millis)
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
static void
sleep(long millis, int nanos)
在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
/** * */ package com.train; public class MThreadTest{ public static void main(String[] args){ TicketSeller tser1 = new TicketSeller("tser1"); TicketSeller tser2 = new TicketSeller("tser2"); TicketSeller tser3 = new TicketSeller("tser3"); TicketSeller tser4 = new TicketSeller("tser4"); tser1.start(); tser2.start(); tser3.start(); tser4.start(); } } class TicketSeller extends Thread{ private static int tickNum = 100; TicketSeller(String name){ super(name); } //override public void run(){ sellTick(1); } public void sellTick(int num){ if(tickNum > 0){ System.out.println(this.getName()+" sells "+tickNum--); }else{ System.out.println("Sell out!"); } System.out.println("current ticket number is "+tickNum); } }