一个函数在被调用执行期间(尚未调用结束),由于某种时序又被重复调用,称之为“重入”。根据函数实现的方法可分为“可重入函数”和“不可重入函数”两种。 注意事项 a) 使用静态数据结构 b) 调用了malloc或free c) 是标准I/O函数 ...
分类:
其他好文 时间:
2019-03-20 10:36:52
阅读次数:
181
一. 不可重入函数 1.1. 什么是不可重入函数 a. 在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果有一个函数不幸被设计成为不可重入这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。 1.2. ...
分类:
其他好文 时间:
2019-03-05 23:10:10
阅读次数:
208
threadingRlock多线程代码importthreadingimporttimelock=threading.RLock()print(lock.acquire())defsub(l):print(‘{}:{}‘.format(threading.current_thread(),l.acquire()))print(‘{}:{}‘.format(threading.current_thr
分类:
其他好文 时间:
2019-02-28 19:58:53
阅读次数:
173
Java 中15种锁的介绍 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁 / 非公平锁 可重入锁 / 不可重入锁 独享锁 / 共享锁 互斥锁 / 读写锁 乐观锁 / 悲观锁 分段锁 偏向锁 / 轻量级锁 / 重量级锁 自旋锁 上面是很多 ...
分类:
编程语言 时间:
2019-02-19 13:25:01
阅读次数:
141
每个对象有一个监视器锁(monitor)。当monitor被占用时就会处于锁定状态,线程执行monitorenter指令时尝试获取monitor的所有权,过程如下: 如果monitor的进入数为0,则该线程进入monitor,然后将进入数设置为1,该线程即为monitor的所有者。如果线程已经占有该 ...
分类:
其他好文 时间:
2019-02-12 15:52:20
阅读次数:
222
一、什么是分布式分布式的CAP理论告诉我们:任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。C:一致性,在分布式环境下,一致性是指多个节点同一时刻要有同样的值;A:可用性 ...
分类:
其他好文 时间:
2019-02-08 23:17:53
阅读次数:
230
重入锁 重入锁指的是当前线成功获取锁后,如果再次访问该临界区,则不会对自己产生互斥行为。 Java中对ReentrantLock和synchronized都是可重入锁,synchronized由jvm实现可重入即使,ReentrantLock都可重入性基于AQS实现。 ReentrantLock还提 ...
分类:
其他好文 时间:
2019-02-01 12:22:20
阅读次数:
210
背景 SSH远程登录Ubuntu服务器因网络原因导致会话中断,重新登录后原会话仍存在但不可重入,需要手动删除之。 命令 其中 填写要删除的会话号,可以用 命令查看。 ...
分类:
其他好文 时间:
2019-01-31 20:51:42
阅读次数:
136
在Java并发场景中,会涉及到各种各样的锁如公平锁,乐观锁,悲观锁等等,这篇文章介绍各种锁的分类: 公平锁/非公平锁 可重入锁 独享锁/共享锁 乐观锁/悲观锁 分段锁 自旋锁 01.乐观锁 vs 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度,在Java和数据库中都有此概念对 ...
分类:
编程语言 时间:
2019-01-28 23:53:00
阅读次数:
227
51单片机的仿真栈(又叫模拟栈、或者可重入栈)。 首先来看,51的系统栈(又叫系统栈,或者硬件栈),就是SP所指向的栈,他是一个满增栈(注释1),位于片内RAM的128 bytes之中,上电之后系统堆栈指针SP的初值等于多少呢?这个要从51的启动文件来分析,启动文件中有这样的汇编代码: ?STACK ...
分类:
其他好文 时间:
2019-01-28 01:00:31
阅读次数:
207