b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

可重入函数和函数的线程安全性及其相关性

电脑杂谈  发布时间:2020-05-09 13:22:03  来源:网络整理

多线程程序如何调用非线程安全的函数_java 线程调用方法_strtok函数线程

1)可重入功能

主要针对系统中断时的信号处理程序. 因此该功能是否可以在主程序和中断处理中同时出现. 例如,如果某个进程执行malloc来分配堆中的空间,并且此时,由于该进程被中断,则信号处理程序还必须调用mallocc. 此时,可以更改由malloc维护的链表. 另一个是同时修改静态存储单元,例如调用getwnam()函数,该函数具有要修改的静态存储单元.

如何判断程序是否可以重新输入

已知使用静态数据结构

多线程程序如何调用非线程安全的函数_java 线程调用方法_strtok函数线程

b调用malloc并释放

c是标准的I / O功能: 许多标准I / O功能的实现都以不可重入的方式使用全局数据结构

2)线程安全

1如何判断函数是否为线程

java 线程调用方法_strtok函数线程_多线程程序如何调用非线程安全的函数

a,访问全局变量并在函数中进行堆操作.

b,分配功能,重新分配和释放全局资源.

c,对函数中的句柄和指针的间接访问.

d,该函数中使用了其他线程不安全的函数或变量.

java 线程调用方法_strtok函数线程_多线程程序如何调用非线程安全的函数

有关编写线程安全函数的注意事项:

1,减少对关键资源的依赖,尽量避免访问全局变量多线程程序如何调用非线程安全的函数,静态变量或其他共享资源,如果必须使用共享资源,则所有位置都必须受到互斥(Mutex)保护;

2. 线程安全函数调用的函数也应该是线程安全的. 如果调用的函数不是线程安全的多线程程序如何调用非线程安全的函数,则这些函数还必须由互斥量(Mutex)保护;

3)可重入功能与线程安全有关

java 线程调用方法_多线程程序如何调用非线程安全的函数_strtok函数线程

当一个线程调用一个函数时,它可以被其他线程调用. 显然,如果函数是可重入的,则它必须是线程安全的. 但是反之亦然,函数是线程安全的,但不一定是可重入的. 程序开发人员应尝试编写可重入函数.

要成为可重入函数的函数必须满足以下要求:

a)不能使用静态或全局非恒定数据

b)无法将地址返回到静态或全局非常规数据

c)函数使用的数据由调用方提供

d)不能依赖单个资源的锁

e)无法调用非可重入函数


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-204176-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...