0. wait/notify/notifyAll的理解? wait:让持有该对象锁的线程等待; notify: 唤醒任何一个持有该对象锁的线程; notifyAll: 唤醒所有持有该对象锁的线程; 它们 3 个的关系是,调用对象的 wait 方法使线程暂停运行,通过 notify/ notifyAl ...
分类:
编程语言 时间:
2019-08-11 15:02:46
阅读次数:
91
java并发LockSupport LockSupport是阻塞和唤醒线程的重要类。 park()方法使得 当前线程 阻塞 unpark(Thread thread)唤醒线程 例子 可以把注释取消再执行,就会发现park()方法使得 当前线程 阻塞会使得main线程阻塞,无法结束。 java pac ...
分类:
编程语言 时间:
2019-08-09 13:34:10
阅读次数:
84
BlockingQueue BlockingQueue、解决了多线程中,如何高效安全“传输”数据的问题。程序员无需关心什么时候阻塞线程,什么时候唤醒线程,该唤醒哪个线程。 方法介绍 BlockingQueue是Queue的子类 void put(E e) 插入指定元素,当BlockingQueue为 ...
分类:
编程语言 时间:
2019-08-08 18:53:58
阅读次数:
93
互斥锁 共享资源的使用是互斥的,即一个线程获得资源的使用权后就会将改资源加锁,使用完后会将其解锁,所以在使用过程中有其它线程想要获取该资源的锁,那么它就会被阻塞陷入睡眠状态,直到该资源被解锁才会别唤醒,如果被阻塞的资源不止一个,那么它们都会被唤醒,但是获得资源使用权的是第一个被唤醒的线程,其它线程又 ...
分类:
其他好文 时间:
2019-08-06 15:35:15
阅读次数:
94
MongoDB oplog是一个capped collection,创建capped collection时,createCollection可以设置size(最大字节数)和max(最大文档数)的参数,当这个集合的『总大小超过size』或者『总文档数超过max』时,在新插入文档时就会自动删除一些集合 ...
分类:
数据库 时间:
2019-08-05 15:58:44
阅读次数:
213
PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。 SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯 SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯 FU ...
分类:
其他好文 时间:
2019-08-03 14:49:49
阅读次数:
182
1. Java多线程通过继承Thread和实现Runnable接口来实现多线程。 2. 数据同步通过synchronized关键字来实现 3. 线程直接的通信:wait,notify,notifyAll等方法实现唤醒和通知。 4. 线程的生命周期 5. 死锁问题和线程的优先级。 ...
分类:
编程语言 时间:
2019-08-03 12:42:28
阅读次数:
78
1、System.Threading命名空间 System.Threading命名空间提供了使得可以多线程编程的类和接口 其中 (1)Thread类构成了C#多线程编程的支柱,他用于创建并控制线程 (2)ThreadStart是一个委托,派生自System.MuliticastDelegate,通过 ...
分类:
编程语言 时间:
2019-08-02 11:25:32
阅读次数:
94
packageconcurrent;importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.ReentrantLock;/***Auth:zhouhongliang*Date:2019/8/1*线程等待与唤醒机制Condition*按指定顺序执行线程*/publicclassConditionDemo{
分类:
编程语言 时间:
2019-08-01 17:27:23
阅读次数:
147