可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。

可重入函数可以被中断,意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括static),这样的函数就是purecode(纯代码)可重入,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈,所以不会互相干扰。若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。

最新文章

  1. [Leetcode] Decode Ways
  2. Android入门(五)UI-单位与尺寸、ListView
  3. MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)
  4. C++引入自定义类(同一项目下 和 不同项目下的 区别)
  5. mybatis 批量插入和where条件使用
  6. 如何在C#中实现图片缩放
  7. dl-ssl.google.com
  8. Android SwitchButton(滑动开关)
  9. a标签增加onclick事件提示未定义function
  10. BIEE11g BI_server Jvm參数调整
  11. 将C-风格字符串用作string对象引用参数
  12. Android源码博文集锦3
  13. caffe︱ImageData层、DummyData层作为原始数据导入的应用
  14. Golang的CSP很酷?其实.NET也可以轻松完成
  15. C# ADO.NET的SqlDataReader对象,判断是否包含指定字段
  16. rocketmq广播消息
  17. memcached、cookie、session
  18. Linux中文乱码 - - 更改Linux字符集
  19. Spring注解使用注意点
  20. Windows 下自动同步文件夹内容到另一个文件夹下

热门文章

  1. js中,object可以调用style对象,[]不可以调用style对象
  2. Spark学习笔记1:Spark概览
  3. CentOS修改TimeZone
  4. java的缓存框架
  5. Ubuntu下mysql的卸载重装
  6. BOM和DOM(cs)
  7. centos7.3使用squid搭建代理服务器
  8. mysql数据库的维护,备份和复制
  9. 【RabbitMQ】ubuntu下RabbitMQ安装与简单使用
  10. gevent 实现io自动切换,gevent.join([]), gevent.spawn, 爬虫多并发的实现