1:线程(理解) (1)死锁 概念: 同步中,多个线程使用多把锁之间存在等待的现象。 原因分析: a.线程1将锁1锁住,线程2将锁2锁住,而线程1要继续执行锁2中的代码,线程2要继续执行锁1中的代码, 但是此时,两个锁均处于锁死状态。最终导致两线程相互等待,进入无限等待状态。 b.有同步代码块的嵌套 ...
分类:
编程语言 时间:
2017-10-08 18:11:02
阅读次数:
198
1.数据结构 1.1等待队列头 初始化等待队列头 1.2等待队列 初始化等待队列 等待队列的task_list加入等待队列头的task_list链表。一般将wait_queue_func_t赋值为下面的默认处理函数: 1.3添加/删除等待队列 2等待事件 调用以下四个宏等待事件,等待以第一个参数作为 ...
分类:
系统相关 时间:
2017-10-02 19:44:00
阅读次数:
283
1.多线程重复出现某结果 如下:已经卖完了和仓库已经满了会出现多次 2. 多线程同步锁造成死锁,如下:商人找买家先要钱,买家找商人先要货造成死锁,原因在于:一个不释放锁,另一个得不到锁 3.虚假唤醒,如下:当最后一次出现卖完了的时候,出售线程处于wait状态,所以线程不会结束 4.虚假唤醒,线程进入 ...
分类:
编程语言 时间:
2017-10-01 21:09:57
阅读次数:
214
一:概念 线程通信中经常用到wait和notify,顾名思义,wait即让当前线程处于等待状态,notify通知锁对象 上的另一个线程被唤醒,这里的唤醒是指可以去争夺锁资源,nofityAll是唤醒该对象上面所有处于 wait状态的线程 二:示例 线程t2一运行就处于wait等待状态,然后线程t1运 ...
分类:
其他好文 时间:
2017-09-16 20:23:38
阅读次数:
213
有时候写东西是很痛苦的,知道一些东西,但想用文字说清楚, ...
分类:
编程语言 时间:
2017-09-15 02:01:41
阅读次数:
244
Treead中使用wair() 和notify() ps:我也是一个新手,有问题欢迎交流,780720038@qq.com 我直接贴代码了 ,ceshi2.java 1 2 public class ceshi2 { 3 4 public static void main(String[] args ...
分类:
编程语言 时间:
2017-09-14 16:43:26
阅读次数:
222
源码见附件,执行唤醒功能前需要先对电源进行设置如下图: 源码 ...
private static String certificatePath="E:/apache-tomcat-7.0.37/webapps/EstateService/IOSApp推送证书.p12"; //iOS开发者证书路径,证书有发布证书和测试证书 private static String ...
分类:
移动开发 时间:
2017-09-12 12:10:13
阅读次数:
402
之前学的应用层都是: 1)查询方式:一直读 2)中断方式.同样一直读,直到中断进程唤醒 3)poll机制:一直在poll函数中睡眠,一定时间读一次 以上3种,我们都是让应用程序主动去读,本节我们学习异步通知,它的作用就是当驱动层有数据时,主动告诉应用程序,然后应用程序再来读, 这样,应用程序就可以干 ...
分类:
其他好文 时间:
2017-09-12 10:41:22
阅读次数:
189
使用wait,notify时,一定要先获取该对象的锁,才可以调用。即:外面要使用synchronized包含。注意只有相同的对象,调用notify方法,才可以唤醒调用wait进入唤醒的方法。 ...
分类:
编程语言 时间:
2017-09-10 23:44:13
阅读次数:
266