共享模式下尝试请求,响应中断 共享模式下的释放方法: 看看内部类ConditionObject:(条件等待队列) await方法: signal方法: signalAll方法: ...
分类:
其他好文 时间:
2017-11-08 16:02:35
阅读次数:
160
AbstractQueuedSynchronizer: /** * 同步等待队列的头节点,懒汉式初始化。只能通过setHead方法来改变该属性。 * 注:如果头节点存在,那么它的waitStatus可以保证一定不是CANCELLED。 */ private transient volatile No... ...
分类:
其他好文 时间:
2017-11-07 00:21:19
阅读次数:
234
linux 网络驱动谨以此文纪念过往的岁月一.前言在linux中网络驱动也是一个大头,如何去理解网络驱动是作为一个linux驱动工程师必备的技能。不过同样的设备,在不同人的手中会有不同的效果,其原因就在于驱动的好与否。二.设备注册学习网络的驱动与学习普通cdev驱动一样,都是学习其模板,然后再创造学 ...
分类:
系统相关 时间:
2017-11-03 20:21:32
阅读次数:
177
REX(Real Time Executive)是一个面向嵌入式应用的,简单高效的,抢先式,多任务实时操作系统,支持基于优先级的任务调度算法(支持优先级反转)。它提供了任务控制,任务同步,互斥,定时器和终端控制等API。 REX所有的函数都在任务上下文环境里执行。 REX只需要少于5k的ROM控件, ...
分类:
其他好文 时间:
2017-10-17 21:45:14
阅读次数:
252
进程管理一.进程的基本概念1.进程的定义是指程序关于某个数据集合的一次运行活动2.Linux进程状态3.进程的类型(1)交互进程:由shell启动,可以工作在前后台(2)批处理进程:不需要与终端相关,提交在等待队列的作业(3)守护进程:shell/linux系统自动启动/用户手工启动,..
分类:
系统相关 时间:
2017-10-17 19:58:46
阅读次数:
298
lock基本思路: volitile + CAS +Queue(存放线程) 实现了: 1 可见性(volitile 和 happenedBefor原则共同实现) 与 2 原子性(CAS ,CPU 指令实现) 共享锁和排它锁(ReentrantReadWriteLock): 共享锁与排他锁 共用一个线 ...
分类:
其他好文 时间:
2017-10-17 19:03:23
阅读次数:
135
问题描述 有 n 项工作在等待队列中等待处理,编号为 1-n。 每个工作有个优先级 p。处理机同一时间只能处理一项工作。处理机决定接下来处理哪一项工作的方式为:从队首取出一项工作 x,若等待队列中没有工作的优先级比 x 的优先级大,那么处理 x,否则将 x 放回队尾,继续寻找符合条件的工作。现在请你 ...
分类:
其他好文 时间:
2017-10-15 21:29:27
阅读次数:
143
(1)select,poll实现需要自己不断轮询所有fd集合,直到设备就绪,期间可能要睡眠和唤醒多次交替。而epoll其实也需要调用epoll_wait不断轮询就绪链表,期间也可能多次睡眠和唤醒交替,但是它是设备就绪时,调用回调函数,把就绪fd放入就绪链表中,并唤醒在epoll_wait中进入睡眠的 ...
分类:
其他好文 时间:
2017-10-12 13:05:01
阅读次数:
153
1.数据结构 1.1等待队列头 初始化等待队列头 1.2等待队列 初始化等待队列 等待队列的task_list加入等待队列头的task_list链表。一般将wait_queue_func_t赋值为下面的默认处理函数: 1.3添加/删除等待队列 2等待事件 调用以下四个宏等待事件,等待以第一个参数作为 ...
分类:
系统相关 时间:
2017-10-02 19:44:00
阅读次数:
283
生产者消费者模型是接着上一篇:进程来写的,前面的都是基础, 生产者消费者模型是对前面知道的应用: 先看代码: 当主进程启动后,随即生产者进程启动,假设现在生产了一个食品, 也就是Queue中有一个元素,生产者在生产完这一个食品之后 由于 q.join 进入了等待Queue取空才会结束当前进程。 那现 ...
分类:
其他好文 时间:
2017-09-23 20:26:21
阅读次数:
164