多线程-返回结果备忘录

2016-09-02 11:12:14.584 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:12:14.584 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:12:14.584 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:12:14.584 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:12:14.585 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:12:14.586 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:426]:读取还有几个能够抢2
2016-09-02 11:12:14.586 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:426]:读取还有几个能够抢1
2016-09-02 11:12:14.586 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:426]:读取还有几个能够抢0
2016-09-02 11:12:14.587 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:426]:读取还有几个能够抢-1
2016-09-02 11:12:14.587 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:426]:读取还有几个能够抢-2
2016-09-02 11:12:14.588 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:431]:抢完了
2016-09-02 11:12:14.588 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:431]:抢完了
2016-09-02 11:12:14.588 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:431]:抢完了
2016-09-02 11:12:14.589 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:431]:抢完了
2016-09-02 11:12:14.589 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:431]:抢完了java


                log.info("测试00000000000000");
                i=i-1;  //2,
                log.info("读取还有几个能够抢"+i);
                if(i>0){
                    log.info("抢走了一个"+i);
                }else{
                    log.info("抢完了");
                }多线程

=============================================写互斥==========================================================================测试


2016-09-02 11:15:12.544 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:15:12.544 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:15:12.544 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:15:12.544 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:15:12.545 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:15:12.546 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢2
2016-09-02 11:15:12.547 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:430]:抢走了一个2
2016-09-02 11:15:12.548 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢1
2016-09-02 11:15:12.548 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:430]:抢走了一个1
2016-09-02 11:15:12.549 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢0
2016-09-02 11:15:12.549 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:15:12.550 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢-1
2016-09-02 11:15:12.550 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:15:12.551 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢-2
2016-09-02 11:15:12.552 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:432]:抢完了线程

                log.info("测试00000000000000");
                writeLock.lock();
                try {
                    i=i-1;  //2,
                    log.info("读取还有几个能够抢"+i);
                    if(i>0){
                        log.info("抢走了一个"+i);
                    }else{
                        log.info("抢完了");
                    }
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }finally{
                    writeLock.unlock();
                }it

                
===================================================读 不互斥===========================================================================                
                
2016-09-02 11:17:27.653 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:17:27.653 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:17:27.653 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:17:27.654 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:17:27.653 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:17:27.655 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢2
2016-09-02 11:17:27.655 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢1
2016-09-02 11:17:27.655 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢0
2016-09-02 11:17:27.656 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢-1
2016-09-02 11:17:27.656 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢-2
2016-09-02 11:17:27.656 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:17:27.657 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:17:27.657 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:17:27.658 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:17:27.658 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:432]:抢完了    io

                i=3;
                log.info("测试00000000000000");
                readLock.lock();
                try {
                    i=i-1;  //2,
                    log.info("读取还有几个能够抢"+i);
                    if(i>0){
                        log.info("抢走了一个"+i);
                    }else{
                        log.info("抢完了");
                    }
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }finally{
                    readLock.unlock();
                }            
                block


======================synchronized==============================================
2016-09-02 11:19:42.251 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:19:42.253 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢2
2016-09-02 11:19:42.253 [http-bio-8090-exec-7] [INFO ] [HttpUtils.java:430]:抢走了一个2
2016-09-02 11:19:42.509 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:19:42.509 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢1
2016-09-02 11:19:42.510 [http-bio-8090-exec-5] [INFO ] [HttpUtils.java:430]:抢走了一个1
2016-09-02 11:19:42.567 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:19:42.568 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢0
2016-09-02 11:19:42.569 [http-bio-8090-exec-4] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:19:42.644 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:19:42.644 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢-1
2016-09-02 11:19:42.645 [http-bio-8090-exec-6] [INFO ] [HttpUtils.java:432]:抢完了
2016-09-02 11:19:42.735 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:424]:测试00000000000000
2016-09-02 11:19:42.736 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:428]:读取还有几个能够抢-2
2016-09-02 11:19:42.737 [http-bio-8090-exec-9] [INFO ] [HttpUtils.java:432]:抢完了                sync

 

 

 

关于多线程访问,返回的结果,值得深思synchronized

相关文章
相关标签/搜索