文章 47
评论 20
浏览 69103
java中使用ReentrantReadWriteLock锁机制来控制多个线程对共享资源的互斥访问

java中使用ReentrantReadWriteLock锁机制来控制多个线程对共享资源的互斥访问

Java 提供了两种锁机制来控制多个线程对共享资源的互斥访问,第一个是 JVM 实现的 synchronized,而另一个是 JDK 实现的 ReentrantLock。 1. synchronized synchronized是一个修饰关键词, 可以同步一个代码块, 一个类, 一个方法(含静态方法), 细粒度很不错, 使用方法是: 直接在作用域关键词后面添加synchronized就可以了 // 静态方法 public synchronized static void fun() { // bla.. bla.. } // 类 public void func() { synchronized (Demo.class) { // ...blabla } } 2. ReenTrantLock 重点说一下这种方法, ReenTrantLock是JUC(java util concurrent)包下的锁,它衍生出的有ReentrantReadWriteLock 这种机制很简单, 打个比方说现在有个List集合里面存着一批id, 有点类似工厂模式, 有生产id和消费id的方法, 算了,....

java获取客户端真实ip(通过反向代理nginx), 获取的不是服务器的ip

java获取客户端真实ip(通过反向代理nginx), 获取的不是服务器的ip

最近做客户统计, 涉及到统计用户所在地, 网上很多例子获取用户的真实ip,但是我们的服务器使用的是nginx做的反向代理, 如此使用网上的办法就一直获取的是服务器的ip, 经过一番测试和配置终于拿到了客户端的真实ip.

java代码小程序获取的unionId,openId,或者其他参数

java代码小程序获取的unionId,openId,或者其他参数

记录一下java代码获取小程序的一些相关信息

java实现概率抽奖功能(正太分布)

java实现概率抽奖功能(正太分布)

记录一下java实现正太分布的抽奖功能, 以便以后使用

最简单的打包java web项目成exe文件

最简单的打包java web项目成exe文件

最近朋友公司有个需求说是因为开发部署到现场比较麻烦, 因为浏览器设置等等一些东西, 所以需要打包成普通的安装软件, 然后就有了这篇文章… 网上搜了一下解决办法, 都太麻烦, 习惯性看了一下github, 还真发现了一个 牛逼的项目, 于是写个博客记录一下吧..

哈哈哈哈哈哈哈嗝~