线程 1.1什么是线程? 在一个程序中的多个执行路线就叫做线程(thread)。更准确的定义是:线程是一个进程内部的一个控制序列。 要搞清楚fork系统调用和创建新线程之间的区别。当进程执行fork调用时,将创建出该进程的一份新的副本。这个新进程拥有自己的变量和自己的PID,它的时间调度也是独立的, ...
分类:
编程语言 时间:
2017-02-26 14:09:45
阅读次数:
236
锁,同步,可重入锁,读写锁(转) 1、synchronized 把代码块声明为 synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。 1.1 原子性 原子性意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monit ...
分类:
其他好文 时间:
2017-02-19 21:41:22
阅读次数:
223
重入锁ReentrantLock 锁获取的公平性问题: 先对锁进行获取的请求一定先被满足,那么这个锁是公平的,反之,是不公平的。ReentrantLock提供了一个构造函数(传人一个布尔值),来控制锁是否是公平的 1.实现重进入 2.公平与非公平获取锁 公平与非公平获取锁的区别 :锁的获取顺序是否符 ...
分类:
其他好文 时间:
2017-02-18 11:04:41
阅读次数:
268
1:s5pv210启动原理:s5pv210启动的时候首先查看OMpin设置的启动方式,如果设置为SDMMC启动的话,首先从SD的通道1启动,但是通道1连接的是iNand,如果iNand中启动不了, 则从SD卡的通道2启动,sd卡通道2连接外置的sd卡,BL0首先从sd卡的第一扇区中复制16kb到sr ...
分类:
其他好文 时间:
2017-02-02 21:45:05
阅读次数:
279
1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。 ...
分类:
编程语言 时间:
2017-02-01 14:53:51
阅读次数:
414
前文介绍了最基本的信号接收和处理,但这有无可能带来一些问题呢? 本文将通过两个思考,来分析可能带来的问题以及解决方法。 ...
分类:
其他好文 时间:
2017-01-28 22:53:54
阅读次数:
377
ReentrantLock 有嗅探锁定和多路分支等功能,其实就是synchronized,wait,notify的升级。 this锁定当前对象不方便,于是就有了用new Object()来作为锁的解决方案,后面jdk干脆就提供了一个Lock类。 伪代码: Lock lock = new Reentr ...
分类:
其他好文 时间:
2017-01-04 10:33:13
阅读次数:
280
1.可重入锁 如果锁具备可重入性,则称作为可重入锁。 (转)可重入和不可重入 2011-10-04 21:38 这种情况出现在多任务系统当中,在任务执行期间捕捉到信号并对其进行处理时,进程正在执行的指令序列就被信号处理程序临时中断。如果从信号处理程序返回,则继续执行进程断点处的正常指令序列,从重新恢 ...
分类:
其他好文 时间:
2017-01-03 11:43:01
阅读次数:
273
协程,又称微线程,纤程。英文名Coroutine,协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就 ...
分类:
其他好文 时间:
2016-12-24 11:45:58
阅读次数:
295