可重入函数 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 务调用这个函数的数据,从而导致不可预料的后果。那么什么是可重入函数呢?所谓可重入是指一个可以被多个任务调用的过程,任务在调用时不必担心数据...
分类:
编程语言 时间:
2014-08-14 16:41:58
阅读次数:
295
C函数可以通过堆栈来和Lua交换数据,但有时候C函数需要在函数体的作用域之外保存某些Lua数据,那么我们想到全局变量或static变量,这样做的缺点是:(1)为Lua设计C函数库时,导致不可重入;(2)不是所有的Lua值都能很好的保存到C变量中。那么可不可以将值保存在Lua全局变量里面呢,可以,.....
分类:
其他好文 时间:
2014-08-04 21:25:48
阅读次数:
332
(重点 面试官最最关心的一个问题,必须从cpu调度,上下文切换,数据共享,多核cup利用率,资源占用,等等各方面回答,然后有一个问题必须会被问到:哪些东西是一个线程私有的?答案中必须包含寄存器,否则悲催)
可重入:概念基本没有比较正式的完整解释,但是它比线程安全要求更严格。根据经验,所谓“重入”,常见的情况是,程序执行到某个函数foo()时,收到信号,于是暂停目前正在执行的函数,转到信号处理...
分类:
编程语言 时间:
2014-07-31 17:03:46
阅读次数:
242
什么是可重入锁,不可重入锁呢?"重入"字面意思已经很明显了,就是可以重新进入。可重入锁,就是说一个线程在
获取某个锁后,还可以继续获取该锁,即允许一个线程多次获取同一个锁。比如synchronized内置锁就是可重入的
,如果A类有2个synchornized方法method1和method2,那么method1调用method2是允许的。显然重入锁给编程带
来了极大的方便。假如内置锁不是可...
分类:
其他好文 时间:
2014-07-31 09:53:26
阅读次数:
301
死锁的总结
死锁的定义:
死锁一般是指两个(或两个以上)线程同时竞争两个(或者多个)资源,从而产生同时等待的现象,使得系统僵持不动。
顺便复习一下线程与进程的定义以及他们之间的区别。
进程:一个有独立功能的程序利用某些数据资源的一次远行过程。
线程:一个进程里面的一条执行路径(或者执行过程),同一条进程下的n多条线程之间可以互相通信(共享数据)。
区别:...
分类:
其他好文 时间:
2014-07-29 14:30:28
阅读次数:
314
ReentrantLock 一个可重入的互斥锁 Lock,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。这个类主要基于AQS(AbstractOwnableSynchronizer)封装的 公平与非公平锁。所谓公平锁就是指在多个线程的争...
分类:
编程语言 时间:
2014-07-09 14:31:42
阅读次数:
306
vxworks 中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中, 整个标准输出设备是一个全局变量,由于有semTake操作,那么就会发生阻塞,vxworks属于硬实时操作系统,不能在规定的时间内完成操作即会死机或复位。所以vxworks不用printf的原因在于阻塞。 网上说printf 因为引用全局变量stdout,所以是不可重入的。这个稍微...
分类:
其他好文 时间:
2014-06-21 20:16:46
阅读次数:
303
并发Single重入模式.对于每一个服务实例,同一时刻只能处理一个请求,其他对该实例的请求被排队.PerCall,每一线程会分配一个新的服务实例上。不会有并发性问题。不影响吞吐量.PerSession,保护服务实例不会受到多线程客户端的影响.多客户端可以并发访问,无并发性问题。减少单一客户端吞吐量....
分类:
其他好文 时间:
2014-06-13 00:16:37
阅读次数:
708
使用keil4 ,代码Code Optimization:0 运行OK
可运行8个任务
Program Size: data=21.0 xdata=0 code=401 (包括2个示例变量,未优化)
任务从中断处切换,在定时时间到后从定时中断中切换回来。
待改进地方
1.手动优化汇编程序
2. 重入问题
3.参数进函数和时中断的保护问题...
分类:
编程语言 时间:
2014-05-24 22:13:10
阅读次数:
318
Writing Reentrant and Thread-Safe
Code编写可重入和线程安全的代码(http://www.ualberta.ca/dept/chemeng/AIX-43/share/man/info/C/a_doc_lib/aixprggd/genprogc/writing_re...
分类:
编程语言 时间:
2014-05-21 21:30:30
阅读次数:
434