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