可重入函数

原创 2012年03月23日 20:37:08

可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。

也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其次意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括static),这样的函数就是purecode(纯代码)可重入,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈,所以不会互相干扰。如果确实需要访问全局变量(包括static),一定要注意实施互斥手段。可重入函数在并行运行环境中非常重要,但是一般要为访问全局变量付出一些性能代价


相关文章推荐

可重入函数c语言

  • 2014年07月29日 09:08
  • 51KB
  • 下载

可重入函数

  • 2008年01月17日 15:19
  • 122KB
  • 下载

可重入函数和线程安全的区别与联系

1 )什么是可重入函数?        可重入函数即表示可以被多个执行流重复进入,意味着只使用自己栈上的变量,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈,所以不会互相干扰。 举一个不...

C语言可重入函数及函数编写规范

  • 2009年12月27日 10:50
  • 141KB
  • 下载

可重入函数和线程安全的区别与联系

什么是线程安全:一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。反之,如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-...

【Linux】中的线程安全和可重入函数

【Linux】中的线程安全和可重入函数

深入理解线程安全和可重入函数

线程安全 基本定义 线程安全:简单来说线程安全就是多个线程并发同一段代码时,不会出现不同的结果,我们就可以说该线程是安全的; 线程不安全:说完了线程安全,线程不安全的问题就很好解...

day_17_可重入函数、线程同步

一可重入函数的使用 二线程的同步 1 mutex锁 1pthread_mutex_init3 2pthread_mutex_lock3 3pthread_mutex_trylock3 4pthread...

linux:线程安全与可重入函数

前面我们已经介绍过线程的概念,我们知道,在同一个进程里,可能同时会有多个线程同时运行,这时候我们就需要考虑线程安全问题了。线程安全:多个线程并发执行时,不会产生不确定的结果,其结果是可预知的且与单线程...

可重入函数

简介   也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其次意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括static),这样的函数就是purecode(纯代码)可重...
  • ypist
  • ypist
  • 2011年08月30日 17:47
  • 408
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:可重入函数
举报原因:
原因补充:

(最多只允许输入30个字)