linux中可重入函数和线程安全
来源:互联网 发布:java验证码识别 编辑:程序博客网 时间:2024/06/07 18:52
一个可重入函数简单来说是可以被中断的函数,也就是说,可以在这个函数运行的任何时候中断它,转入os调度下去执行另一段代码,而返回控制时不会出现什么错误。
可以被信号控制器安全调用的函数称为“异步信号安全函数”。可重入函数与异步信号安全函数时一个概念。
线程安全:
一个函数被称为线程安全的,当且仅当被多个并发线程反复调用时,他会产生一个正确的结果。
可重入性:
有一类重要的线程安全函数,叫做可重入函数,其特点在于他们具有一种属性:当他们被多个线程调用时,不会引用任何共享的数据。尽管线程安全和可重入有时会被用作同义词,但他们之间是有差别的,可重入函数是线程安全函数的一个真子集。
不可重入函数的原因在于:
1.已知它们使用静态数据结构;
2.它们调用malloc和free;因为malloc通常会为所分配的存储区维护一个链接表,而插入执行信号处理函数的时候,进程可能正在修改此链接表。
3.它们是标准io函数;因为标准io库很多实现都使用了全局数据结构。
0 0
- linux中可重入函数和线程安全
- Unix、Linux线程安全函数和非线程安全函数
- [Linux]线程安全和可重入函数
- Linux----线程安全和可重入函数
- 【Linux】线程安全和可重入函数
- Linux中的线程安全和可重入函数
- 【Linux】线程安全和可重入函数
- 【Linux】中的线程安全和可重入函数
- Linux — 线程安全和可重入函数
- 【Linux】可重入函数和线程安全的区别与联系
- Linux--线程安全与可重入函数的区别和联系
- 线程安全和可重入函数
- 可重入函数和线程安全
- 线程安全和可重入函数
- 线程安全和可重入函数
- 线程安全和可重入函数
- 线程安全和可重入函数
- 线程安全和可重入函数
- Swift学习:2.7 闭包
- 用java构建二叉排序树,实现先序,中序和后序遍历
- Spring 配置使用 - 装配 Bean
- leetcode-242. Valid Anagram
- Java基础知识思维导图
- linux中可重入函数和线程安全
- 区间重合判断问题
- Visual Studio Code 快捷键
- android多线程-AsyncTask之工作原理深入解析(下)
- unsigned int与int相加
- IMX6 驱动代码位置
- Java编程专题思维导图
- Docker入门实践(二) Docker的安装配置
- REDIS实践之使用watch完成秒杀抢购功能