美文网首页
16.多线程

16.多线程

作者: Java架构师之路 | 来源:发表于2019-08-22 23:03 被阅读0次

public class ThreadTest implements Runnable {
    /*
     * 多个事物同时执行称为并发
     * 线程是等待完成的事情
     * 进程是应用程序
     *
     * 实现线程的方式 extends Thread implements Runnable
     * start 启动 run 启动后执行任务
     * 1.线程休眠 Thread,sleep(2000)
     * 2.线程加入 join
     *3.线程中断 stop interrupt
     * 4.线程礼让 yield
     * 5.设置线程优先级 setPriority 优先级低的 获取机会低
     * 6.线程同步 synchronized 有效防止资源冲突
     * */
    int num = 10;

    public void run() {
        while (true) {
            synchronized ("") {
                if (num > 0) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println("tickets" + --num);
                } else {
                    break;
                }
            }
        }
    }

    public static void main(String[] args) {
        ThreadTest t = new ThreadTest();
//        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();
        ExecutorService service = Executors.newFixedThreadPool(5);
        service.submit(t);
        service.shutdown();


    }
}


相关文章

网友评论

      本文标题:16.多线程

      本文链接:https://www.haomeiwen.com/subject/xuhpsctx.html