Java多线程,基于实现Runnable接口方式实现

Java多线程可以实现并发处理的任务,恰当地使用多线程技术可以有效提高程序的运行效率,降低用户等待时间。

例子:

  2个售票员同时卖票,A售票员开始有100张票,B售票员开始有20张票。

售票员类(实现Runnable接口)

public class Seller implements Runnable{
    private int ticket;
    public Seller(int ticket){
        this.ticket=ticket;
    }
    @Override
    public void run(){
        while (ticket>0){
            ticket--;
            System.out.println("剩余"+ticket+"张票");
        }
    }
}

主类:

public class Main {
    public static void main(String[] args) {
        System.out.println("开始卖票!");
        new Thread(new Seller(100)).start();
        new Thread(new Seller(20)).start();
    }
}

运行结果(每次运行,结果不一定一样):

运行结果1(节选):
开始卖票! 剩余99张票 剩余19张票 剩余98张票 剩余18张票 剩余97张票 剩余17张票 剩余96张票 剩余16张票 剩余95张票 剩余94张票 剩余15张票 剩余93张票
运行结果2(节选):
开始卖票! 剩余99张票 剩余98张票 剩余97张票 剩余96张票 剩余95张票 剩余94张票 剩余93张票 剩余92张票 剩余19张票 剩余18张票 剩余91张票 剩余90张票