线程安全:一般来说,一个函数被称为线程安全的,当且仅当被多个并发线程反复调用时,它会一直产生正确的结果。就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或..
分类:
编程语言 时间:
2016-08-03 06:49:21
阅读次数:
294
可重入函数主要用于多任务环境中,简单来说就是可以被中断的函数,即在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,返回控制时不会出现什么错误;也意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括static),这样的函数就是 purecode(纯代码)可重入,可以允许有该函数的 ...
分类:
其他好文 时间:
2016-08-01 10:27:30
阅读次数:
190
一、线程安全如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程..
分类:
编程语言 时间:
2016-07-24 21:10:37
阅读次数:
267
线程安全: 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和 运行的结果是一样的,而且其他的变量的值也和预期的是一样 的, 就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二 ...
分类:
编程语言 时间:
2016-07-21 00:49:55
阅读次数:
255
线程安全:多个线程访问同一个区域的时候其最终结果是可预期的,并不会因为产生冲突或者异常中断再次恢复而使结果不可预期1.重入:函数被不同的控制流程调用,有可能在第一次调用还没有返回的时候就再次进入该函数这称之为重入;2.不可重入函数:当访问一个全局的变量或者参数..
分类:
编程语言 时间:
2016-07-19 19:05:13
阅读次数:
176
线程安全函数概念:线程安全的概念比较直观。一般说来,一个函数被称为线程安全的,当且仅当被多个并发线程反复调用时,它会一直产生正确的结果。确保线程安全:要确保函数线程安全,主要需要考虑的是线程之间的共享变量。属于同一进程的不同线程会共享进程内存空间中的全局区..
分类:
编程语言 时间:
2016-07-19 11:29:39
阅读次数:
189
线程安全 比如一个 ArrayList 类,在添加一个元素的时候,它可能会有两步来完成: 1. 在 Items[Size] 的位置存放此元素; 2. 增大 Size 的值。 在单线程运行的情况下,如果 Size = 0,添加一个元素后,此元素在位置 0,而且 Size=1;而如果是在多线程情况下,比 ...
分类:
编程语言 时间:
2016-07-19 09:29:15
阅读次数:
195
概念 重入:即重复调用,函数被不同的流调用,有可能会出现第一次调用还没返回时就再次进入该函数开始下一次调用。 可重入:当程序被多个线程反复执行,产生的结果正确。 如果一个函数只访问自己的局部变量或参数,称为可重入函数。 不可重入:当程序被多个线程反复调用,产生的结果出错。 当函数访问一个全局的变量或 ...
分类:
编程语言 时间:
2016-07-18 02:43:08
阅读次数:
167
1、可重入函数可重入函数即表示可以被多个执行流重复进入,意味着只使用自己栈上的变量,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈,所以不会互相干扰。一个不可重入函数的例子:intglobal;intfun(inta){inttemp;global=a;temp=gloabl*2;returntemp;}global..
分类:
编程语言 时间:
2016-07-13 23:37:22
阅读次数:
177
在讲可重复函数与线程安全之前先来了解什么是可重复函数和线程安全。可重复函数:在多线程或有异常控制流的情况下,当某个函数运行到中途时,控制流(也就是当前指令序列)就有可能被打断而去执行另一个函数.而"另一个函数"很有可能是它本身.,如果在这种情况下不会出现问题,比如说..
分类:
编程语言 时间:
2016-07-13 23:34:00
阅读次数:
1118