Thread和Runnable理解

来源:互联网 发布:淘宝售后期限是多久 编辑:程序博客网 时间:2024/04/28 02:56

class MyThread extends Thread {    private int ticket = 10;    public synchronized void run() {        for (int i = 0; i < 20; i++) {            if (this.ticket > 0) {                System.out.println("卖票:ticket" + this.ticket--);            }        }    }}class MyTask implements Runnable {    private int ticket = 10;    public synchronized void run() {        for (int i = 0; i < 20; i++) {            if (this.ticket > 0) {                System.out.println("卖票:ticket" + this.ticket--);            }        }    }}public class Main {    public static void main(String[] args) {        MyThread thread1 = new MyThread();        MyThread thread2 = new MyThread();        thread1.start();//线程执行任务        thread2.start();//线程执行任务        MyTask task=new MyTask();        new Thread(task).start();//两个线程执行一个任务        new Thread(task).start();        MyThread thread3 = new MyThread();        new Thread(thread3).start();//两个线程执行一个任务,(默认任务)        new Thread(thread3).start();    }};


结果:4个任务被执行了。

卖票:ticket10
卖票:ticket9
卖票:ticket8
卖票:ticket7
卖票:ticket6
卖票:ticket5
卖票:ticket4
卖票:ticket3
卖票:ticket2
卖票:ticket1
卖票:ticket10
卖票:ticket9
卖票:ticket8
卖票:ticket7
卖票:ticket6
卖票:ticket5
卖票:ticket4
卖票:ticket3
卖票:ticket2
卖票:ticket1
卖票:ticket10
卖票:ticket9
卖票:ticket8
卖票:ticket7
卖票:ticket6
卖票:ticket5
卖票:ticket4
卖票:ticket3
卖票:ticket2
卖票:ticket1
卖票:ticket10
卖票:ticket9
卖票:ticket8
卖票:ticket7
卖票:ticket6
卖票:ticket5
卖票:ticket4
卖票:ticket3
卖票:ticket2
卖票:ticket1

0 0
原创粉丝点击