Java如何模拟一百个线程同时执行(CountDownLatch,CyclicBarrier)

Java如何模拟一百个线程同时执行

对并发测试,在平常开发过程中并不容易在现。但是借助CountDownLatchCyclicBarrier
可可以让线程同时等待同一个状态,在多核多线程的pc还是能大概的模拟出来,但是其实从真正意义上来说,并不是完全同时执行,cpu的资源是通过时间片轮转法进行调度。

上代码

CountDownLatch模拟多线程


    @Test
    void testCountDownLatch(){
        //等待100个线程同时执行
        CountDownLatch countDownLatch = new CountDownLatch(100);
        for(int i=0;i<100;i++){
            Thread thread = new MyThread(countDownLatch);
            thread.start();
            countDownLatch.countDown();
        }
    }



    static class  MyThread extends Thread{

        final static Logger logger  = LoggerFactory.getLogger(MyThread.class);

        private CountDownLatch countDownLatch;

        public MyThread(CountDownLatch countDownLatch) {
            this.countDownLatch = countDownLatch;
        }

        @Override
        public void run() {
            super.run();
            try {
                countDownLatch.await();
                logger.debug("count:{},id:{}", countDownLatch.getCount(),SyncId.getId());
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

结果

2020-09-27 21:33:11.784 DEBUG 18864 --- [       Thread-9] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:37
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-16] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:20
2020-09-27 21:33:11.785 DEBUG 18864 --- [      Thread-62] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:63
2020-09-27 21:33:11.785 DEBUG 18864 --- [      Thread-59] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:60
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-34] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:19
2020-09-27 21:33:11.785 DEBUG 18864 --- [      Thread-61] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:62
2020-09-27 21:33:11.784 DEBUG 18864 --- [       Thread-4] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:53
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-38] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:27
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-21] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:5
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-53] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:54
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-37] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:25
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-33] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:18
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-22] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:3
2020-09-27 21:33:11.786 DEBUG 18864 --- [      Thread-63] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:64
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-27] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:1
2020-09-27 21:33:11.784 DEBUG 18864 --- [       Thread-5] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:51
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-17] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:17
2020-09-27 21:33:11.785 DEBUG 18864 --- [      Thread-60] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:61
2020-09-27 21:33:11.786 DEBUG 18864 --- [      Thread-64] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:65
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-25] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:15
2020-09-27 21:33:11.786 DEBUG 18864 --- [      Thread-65] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:66
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-51] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:50
2020-09-27 21:33:11.786 DEBUG 18864 --- [      Thread-66] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:67
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-35] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:21
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-50] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:49
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-29] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:6
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-13] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:29
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-12] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:26
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-24] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:13
2020-09-27 21:33:11.787 DEBUG 18864 --- [      Thread-67] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:68
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-39] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:28
2020-09-27 21:33:11.785 DEBUG 18864 --- [      Thread-57] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:58
2020-09-27 21:33:11.787 DEBUG 18864 --- [      Thread-68] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:69
2020-09-27 21:33:11.788 DEBUG 18864 --- [      Thread-70] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:71
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-40] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:30
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-52] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:52
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-31] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:11
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-36] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:24
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-49] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:47
2020-09-27 21:33:11.788 DEBUG 18864 --- [      Thread-69] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:70
2020-09-27 21:33:11.784 DEBUG 18864 --- [     Thread-100] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:48
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-28] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:4
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-26] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:10
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-15] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:22
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-14] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:23
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-19] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:12
2020-09-27 21:33:11.789 DEBUG 18864 --- [      Thread-72] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:73
2020-09-27 21:33:11.788 DEBUG 18864 --- [      Thread-71] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:72
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-11] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:32
2020-09-27 21:33:11.789 DEBUG 18864 --- [      Thread-73] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:74
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-30] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:8
2020-09-27 21:33:11.789 DEBUG 18864 --- [      Thread-75] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:76
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-48] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:46
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-23] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:7
2020-09-27 21:33:11.783 DEBUG 18864 --- [      Thread-20] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:9
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-55] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:56
2020-09-27 21:33:11.790 DEBUG 18864 --- [      Thread-76] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:77
2020-09-27 21:33:11.784 DEBUG 18864 --- [       Thread-3] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:44
2020-09-27 21:33:11.790 DEBUG 18864 --- [      Thread-77] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:78
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-54] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:55
2020-09-27 21:33:11.790 DEBUG 18864 --- [      Thread-78] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:79
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-47] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:43
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-18] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:14
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-41] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:31
2020-09-27 21:33:11.791 DEBUG 18864 --- [      Thread-80] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:81
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-42] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:33
2020-09-27 21:33:11.785 DEBUG 18864 --- [      Thread-58] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:59
2020-09-27 21:33:11.791 DEBUG 18864 --- [      Thread-86] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:87
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-32] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:16
2020-09-27 21:33:11.791 DEBUG 18864 --- [      Thread-85] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:86
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-44] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:38
2020-09-27 21:33:11.791 DEBUG 18864 --- [      Thread-84] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:85
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-45] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:40
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-43] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:36
2020-09-27 21:33:11.791 DEBUG 18864 --- [      Thread-83] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:84
2020-09-27 21:33:11.784 DEBUG 18864 --- [       Thread-8] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:39
2020-09-27 21:33:11.792 DEBUG 18864 --- [      Thread-88] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:89
2020-09-27 21:33:11.792 DEBUG 18864 --- [      Thread-89] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:90
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-46] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:41
2020-09-27 21:33:11.792 DEBUG 18864 --- [      Thread-90] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:91
2020-09-27 21:33:11.792 DEBUG 18864 --- [      Thread-91] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:92
2020-09-27 21:33:11.784 DEBUG 18864 --- [       Thread-7] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:42
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-92] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:93
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-95] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:96
2020-09-27 21:33:11.791 DEBUG 18864 --- [      Thread-82] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:83
2020-09-27 21:33:11.791 DEBUG 18864 --- [      Thread-81] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:82
2020-09-27 21:33:11.784 DEBUG 18864 --- [     Thread-101] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:35
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-96] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:97
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-98] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:99
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-99] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:100
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-10] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:34
2020-09-27 21:33:11.790 DEBUG 18864 --- [      Thread-79] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:80
2020-09-27 21:33:11.783 DEBUG 18864 --- [       Thread-2] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:2
2020-09-27 21:33:11.784 DEBUG 18864 --- [      Thread-56] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:57
2020-09-27 21:33:11.789 DEBUG 18864 --- [      Thread-74] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:75
2020-09-27 21:33:11.784 DEBUG 18864 --- [       Thread-6] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:45
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-97] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:98
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-93] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:94
2020-09-27 21:33:11.793 DEBUG 18864 --- [      Thread-94] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:95
2020-09-27 21:33:11.792 DEBUG 18864 --- [      Thread-87] d.m.BlogMybatisApplicationTests$MyThread : count:0,id:88

783-793 将近10ms这100线程才都执行完

CyclicBarrier模拟多线程

    @Test
    void test01(){
        CyclicBarrier cyclicBarrier = new CyclicBarrier(100);
        for(int i=0;i<100;i++){
            Thread thread = new MyThread01(cyclicBarrier);
            thread.start();
        }
    }


    static class  MyThread01 extends Thread{

        final static Logger logger  = LoggerFactory.getLogger(MyThread01.class);

        private CyclicBarrier cyclicBarrier;

        public MyThread01(CyclicBarrier cyclicBarrier) {
            this.cyclicBarrier = cyclicBarrier;
        }

        @Override
        public void run() {
            super.run();
            try {
                cyclicBarrier.await();
                logger.debug("numberWait:{},id:{}", cyclicBarrier.getNumberWaiting(),SyncId.getId());
            } catch (InterruptedException | BrokenBarrierException e) {
                e.printStackTrace();
            }
        }
    }

结果

2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-21] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:22
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-44] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:27
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-49] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:38
2020-09-27 21:43:07.376 DEBUG 17092 --- [      Thread-70] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:70
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-58] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:55
2020-09-27 21:43:07.375 DEBUG 17092 --- [       Thread-5] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:54
2020-09-27 21:43:07.376 DEBUG 17092 --- [      Thread-71] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:71
2020-09-27 21:43:07.376 DEBUG 17092 --- [      Thread-69] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:69
2020-09-27 21:43:07.376 DEBUG 17092 --- [      Thread-68] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:68
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-48] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:36
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-43] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:25
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-19] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:26
2020-09-27 21:43:07.375 DEBUG 17092 --- [       Thread-6] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:52
2020-09-27 21:43:07.377 DEBUG 17092 --- [      Thread-73] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:73
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-57] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:53
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-11] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:41
2020-09-27 21:43:07.375 DEBUG 17092 --- [       Thread-4] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:60
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-18] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:28
2020-09-27 21:43:07.377 DEBUG 17092 --- [      Thread-74] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:74
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-42] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:23
2020-09-27 21:43:07.376 DEBUG 17092 --- [      Thread-67] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:67
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-62] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:62
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-51] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:42
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-52] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:44
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-22] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:21
2020-09-27 21:43:07.378 DEBUG 17092 --- [      Thread-76] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:76
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-56] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:51
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-17] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:30
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-45] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:29
2020-09-27 21:43:07.378 DEBUG 17092 --- [      Thread-77] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:77
2020-09-27 21:43:07.375 DEBUG 17092 --- [       Thread-7] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:45
2020-09-27 21:43:07.378 DEBUG 17092 --- [      Thread-78] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:78
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-23] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:20
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-31] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:9
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-66] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:66
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-16] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:31
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-55] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:50
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-41] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:19
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-10] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:43
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-59] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:56
2020-09-27 21:43:07.375 DEBUG 17092 --- [       Thread-8] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:48
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-54] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:49
2020-09-27 21:43:07.379 DEBUG 17092 --- [      Thread-80] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:80
2020-09-27 21:43:07.375 DEBUG 17092 --- [       Thread-9] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:47
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-35] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:1
2020-09-27 21:43:07.377 DEBUG 17092 --- [      Thread-75] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:75
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-40] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:17
2020-09-27 21:43:07.379 DEBUG 17092 --- [      Thread-82] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:82
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-64] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:64
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-24] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:18
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-20] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:24
2020-09-27 21:43:07.380 DEBUG 17092 --- [      Thread-83] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:83
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-15] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:32
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-25] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:16
2020-09-27 21:43:07.380 DEBUG 17092 --- [      Thread-84] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:84
2020-09-27 21:43:07.380 DEBUG 17092 --- [      Thread-85] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:85
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-60] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:58
2020-09-27 21:43:07.380 DEBUG 17092 --- [      Thread-86] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:86
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-63] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:63
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-14] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:34
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-53] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:46
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-39] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:15
2020-09-27 21:43:07.374 DEBUG 17092 --- [       Thread-3] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:3
2020-09-27 21:43:07.375 DEBUG 17092 --- [     Thread-101] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:59
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-13] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:37
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-46] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:33
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-50] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:40
2020-09-27 21:43:07.381 DEBUG 17092 --- [      Thread-87] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:87
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-36] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:2
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-47] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:35
2020-09-27 21:43:07.381 DEBUG 17092 --- [      Thread-88] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:88
2020-09-27 21:43:07.381 DEBUG 17092 --- [      Thread-90] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:90
2020-09-27 21:43:07.377 DEBUG 17092 --- [      Thread-72] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:72
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-27] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:13
2020-09-27 21:43:07.381 DEBUG 17092 --- [      Thread-91] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:91
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-32] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:6
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-38] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:11
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-34] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:12
2020-09-27 21:43:07.382 DEBUG 17092 --- [      Thread-92] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:92
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-26] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:10
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-12] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:39
2020-09-27 21:43:07.382 DEBUG 17092 --- [      Thread-94] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:94
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-37] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:8
2020-09-27 21:43:07.382 DEBUG 17092 --- [      Thread-97] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:97
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-28] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:7
2020-09-27 21:43:07.382 DEBUG 17092 --- [      Thread-96] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:96
2020-09-27 21:43:07.382 DEBUG 17092 --- [      Thread-98] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:98
2020-09-27 21:43:07.382 DEBUG 17092 --- [      Thread-93] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:93
2020-09-27 21:43:07.381 DEBUG 17092 --- [      Thread-89] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:89
2020-09-27 21:43:07.383 DEBUG 17092 --- [      Thread-99] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:99
2020-09-27 21:43:07.375 DEBUG 17092 --- [       Thread-2] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:57
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-33] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:14
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-30] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:5
2020-09-27 21:43:07.379 DEBUG 17092 --- [      Thread-81] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:81
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-65] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:65
2020-09-27 21:43:07.378 DEBUG 17092 --- [      Thread-79] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:79
2020-09-27 21:43:07.375 DEBUG 17092 --- [      Thread-61] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:61
2020-09-27 21:43:07.383 DEBUG 17092 --- [     Thread-100] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:100
2020-09-27 21:43:07.374 DEBUG 17092 --- [      Thread-29] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:4
2020-09-27 21:43:07.382 DEBUG 17092 --- [      Thread-95] m.BlogMybatisApplicationTests$MyThread01 : numberWait:0,id:95

374-383 近9ms
我在实验过多个机型后发现,执行快,和所能模拟的线程数应该是更cup的核数相关。核越多,所能执行的线程就越多。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值