在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock. ReentrantLock概况 ReentrantLock是可重入的锁,它不同于内置锁, 它在每次使用都需要显示的加锁和解锁, 而且提供了更高级的特性:公平锁, ...
分类:
其他好文 时间:
2018-05-27 00:57:32
阅读次数:
156
CommitTracker实现了runnable接口,根据solrconfig配置进行初始化 CommitTracker构造函数 可以看到软提交openSearcher=true,并表示此次为softcommit 而硬提交的openSearcher需要根据配置进行初始化 so,如果继续跟着流程发现D ...
分类:
其他好文 时间:
2018-05-17 00:54:57
阅读次数:
172
异常通常为 start failed -19 这里需要注意两点: 1.按照API文档中的说明在android 4.0 以上是不用Camera.lock()和Camera.unlock(),但是当我们调用MediaRecorder.start()时一定要调用Camera.unlock(),否则一直st ...
分类:
其他好文 时间:
2018-05-14 22:06:49
阅读次数:
300
MySQL中遇到的几种报错及其解决方法 1.[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right ...
分类:
数据库 时间:
2018-05-07 19:28:17
阅读次数:
199
转载自http://www.jb51.net/article/118312.htm * 在集群等多服务器中经常使用到同步处理一下业务,这是普通的事务是满足不了业务需求,需要分布式锁 * * 分布式锁的常用3种实现: * 0.数据库乐观锁实现 * 1.Redis实现 使用redis的setnx()、g ...
分类:
其他好文 时间:
2018-05-07 13:37:55
阅读次数:
329
一、并发控制 1.关键字synchronzed修饰 2.加锁: private Lock lock = new ReentrantLock(); lock.lock(); lock.unlock(); ...
分类:
编程语言 时间:
2018-05-06 16:22:20
阅读次数:
139
匿名类的一个好处是可以很方便的访问外部的局部变量。 前提是外部的局部变量需要被声明为final。(JDK7以后就不需要了) ====================== 同步方法1:普通式 同步方法2:在对象方法里 写关键字,用this 同步方法3:在方法前,加上修饰符synchronized,效果 ...
分类:
编程语言 时间:
2018-05-06 00:24:15
阅读次数:
952
1 大家可能知道互斥量是线程程序中必须的工具了,但是也不能是万能的,就比如某个线程正在等待共享数据某个条件的发生,这个时候会发生什么呢。它就可能重复的尝试对互斥对象锁定和解锁来检查共享数据结构。 2 线程在等待满足某些条件的时候使线程进入睡眠状态,一旦条件满足了就唤醒并等待满足特定条件而睡眠的线程。 ...
分类:
系统相关 时间:
2018-05-03 16:29:45
阅读次数:
244
一、线程安全 1. 怎样让多线程下的类安全起来 无状态、加锁、让类不可变、栈封闭、安全的发布对象 2. 死锁 2.1 死锁概念及解决死锁的原则 一定发生在多个线程争夺多个资源里的情况下,发生的原因是每个线程拿到了某个(某些)资源不释放,同时等待着其他线程所持有的资源。 解决死锁的原则就是确保正确的获 ...
分类:
编程语言 时间:
2018-05-01 14:01:56
阅读次数:
157