腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
5
回答
有没有办法标记
不可
重入
的C库调用的使用?
、
、
、
、
我正在做一个高度
多线程
的项目,我想知道是否有一种方法可以让编译器标记对C库(例如strtok_r的strtok intsead )的
不可
重入
调用?如果没有,是否有
不可
重入
的调用列表,以便我可以定期grep我的代码库?我假设可
重入
性意味着线程安全,但不一定相反。在线程化项目中使用
不可
重入
调用有充分的理由吗?
浏览 3
提问于2011-06-24
得票数 12
回答已采纳
4
回答
在C中
重入
和
重入
?
、
、
我正在读一本叫做
Linux
系统编程的书。引用这本书的话: 保证在信号中使用的安全
重入
函数写() 我很困惑,wr
浏览 1
提问于2015-06-05
得票数 7
回答已采纳
5
回答
malloc是线程安全的吗?
、
、
、
malloc()函数是可
重入
的吗?
浏览 182
提问于2009-05-13
得票数 77
回答已采纳
1
回答
哪些标准的c++函数和类型支持
重入
性?
、
可
重入
代码不能调用
不可
重入
函数(请参阅下面的可
重入
规则)。考虑到这一点,总结C++代码只有在没有使用C++标准类型或函数的情况下才能安全地
重入
是正确的吗?请注意,和线程安全是正交的概念: 在计算中,如果多个调用可以安全地在单个处理器系统上同时运行,则计算机程序或子例程称为可
重入
程序,其中可在执行过程中中断
重入
过程,然后在其先前的调用完成执行之前再次安全地调用这种可
重入
性的定义不同于
多线程
环境中线程安全的定义。(...)相反,线程安全
浏览 7
提问于2020-10-30
得票数 1
2
回答
中断处理程序必须
重入
吗?
、
、
、
我在中断处理程序中使用一个静态变量,使中断处理程序
不可
重入
。 有一个
不可
重入
的中断处理程序可以吗?我在使用
Linux
。我使用的编程语言是C,如果它有区别的话。
浏览 4
提问于2013-08-08
得票数 6
回答已采纳
4
回答
重入
锁是否是同步的完全替换?
、
、
、
我知道,通过使用可
重入
锁,我们可以跨方法持有锁,在一定时间内等待锁(使用同步块(或)方法是
不可
能的)。我的疑问是,是否有可能用可
重入
锁替换应用程序的同步机制?例如,我希望实现线程安全的堆栈数据结构,其中所有的push、pop、getTop方法都是同步的,因此在
多线程
环境中,一次只能访问一个同步方法(如果一个线程使用push方法,则没有其他线程能够访问stack是否可以使用可
重入
锁实现相同的线程安全堆栈数据结构?如果可能的话,请提供一个例子来理解这一点。
浏览 2
提问于2016-10-10
得票数 0
回答已采纳
1
回答
用Newlib实现写()、_write()或_write_r()?
、
、
、
、
在以Newlib为标准C库的ARM GCC工具链环境中,尝试实现STM32F411RET微控制器的STM32F411RET函数重定向。但我仍然对他们有疑问: 谢谢你读这
浏览 1
提问于2015-08-16
得票数 10
回答已采纳
2
回答
在
多线程
程序中使用的API中的
不可
重入
函数
、
、
QT在其XML处理类中有一个名为setContent()的函数,它被指定为
不可
重入
的。当被调用时,setContent()将XML文件读入内存,并将其作为数据结构返回。据我所知,
不可
重入
函数是一个从多个线程同时调用的函数,即使该函数被调用来操作不同的文件/对象,也是不安全的。如果是这样的话,这似乎是一种非常糟糕的编写API的方式,因为这看起来根本不像一个函数,直观地讲,它会引发
多线程
问题。此外,根本没有提供互斥锁。因此,为了在我的
多线程
程序中使用这个函数,其中多个线程将打开不同
浏览 2
提问于2011-08-31
得票数 2
回答已采纳
1
回答
Boost中的可
重入
性
、
在使用
多线程
时,我需要确保我使用的boost类是可
重入
的(即使每个线程都使用自己的对象实例)。例如,我在文档中找不到关于boost::numeric::ublas∷矩阵类的可
重入
性的声明。所以我能假设它是可
重入
的吗?Ofer
浏览 0
提问于2012-01-21
得票数 1
回答已采纳
1
回答
一个milter回调真的需要重新进入吗?
、
、
、
因此,所有过滤回调必须是可
重入
的,并使用一些适当的外部同步方法来访问全局数据. 虽然我非常理解为什么回调必须是线程安全的,但我不能理解为什么它们必须是重新进入的。要求重新进入的问题是,可
重入
函数不能调用
不可
重入
的代码。因此,如果回调必须是可
重入
的,那么我就不能在其中使用malloc()和大多数其他库函数;来自man 3 malloc。为了避免
多线程
应用程序中的损坏,内部使用互斥来保护这些函数所使用的内存管理数据结构。这无疑意味着malloc()是线程安全的,而且可能意味着mallo
浏览 7
提问于2017-11-01
得票数 0
2
回答
malloc()是
不可
重入
的,但线程安全吗?
、
、
、
、
可能重复: 书中说,malloc是
不可
重入
的,因为它操纵全局链接列表数据结构,但是通过使用互斥锁使线程安全。我对此感到有点困惑:因为它使用互斥线程是线程安全的,因此可以同时被多个线程调用,为什么它不是一个
重入
函数?(如果我们说
重入
意味着它可以由多个调用方同时调用) 另一个问题是,由于malloc是线程安全的,我们能把它放在信号处理程序中吗?我认为答案是肯定的,但我不确定,因为根据这本书,它说,只有可
重入
或异步信号安全的功能,可以放
浏览 4
提问于2012-01-15
得票数 11
回答已采纳
4
回答
只有当我们有多个线程时,才会出现非再肠问题吗?
、
、
、
我理解线程安全和
重入
是两个不同的概念。在使用C++时,我们避免使用全局变量和静态变量。甚至,我们也尽量避免单身。但是,问题是,如果它在一个线程上运行,那么从wiki借来的代码会发生什么变化。
浏览 2
提问于2014-03-27
得票数 1
回答已采纳
1
回答
gcc -D_REENTRANT到底是做什么的?
、
、
Oracle,合理地说,与一起使用的本机库应该使用
多线程
编译器进行编译.JNI文档给出了一个具体的例子,对于gcc,应该通过定义一个宏_REENTRANT或_POSIX_C_SOURCE来满足这种
多线程
感知需求。我觉得很奇怪。编辑:此外,在我看来,
重入
是一个独立的考虑与线程处理。即使对于单线程程序来说,
不可
重入
也是一个问题,因此甲骨文关于定义_REENTRANT使gcc
多线程
感知的建议显得更加可疑。
浏览 6
提问于2015-08-20
得票数 5
回答已采纳
5
回答
中断处理程序中的C printf()?
、
、
是因为它是一个阻塞调用,还是因为它不是可
重入
的?谢谢,
浏览 0
提问于2012-10-03
得票数 10
回答已采纳
3
回答
有没有办法测试一个C++ API (在ubuntu
linux
上)是否是可
重入
的(线程安全)?
、
、
、
有没有方法可以让我测试代码是否是可
重入
的,而不是通读它?编辑:更改标题,将线程安全作为理想的目标
浏览 3
提问于2014-08-28
得票数 2
1
回答
为什么编译器在一开始是
不可
重入
的?
、
我正在阅读一些yacc和lex相关的东西和其他一些编译器实现,它们似乎都使用全局状态,因此使用
多线程
的情况非常不安全,所以很难将它们嵌入到其他程序中。我知道GNU Bison和Flex可以用于
重入
,但为什么它们不是默认打开的?
浏览 0
提问于2018-07-03
得票数 1
7
回答
C中的
重入
函数和递归函数有什么不同?
、
在C中,我知道递归函数,但我听说过
重入
函数。 那是什么?它们之间有什么不同呢?
浏览 1
提问于2008-11-04
得票数 21
回答已采纳
6
回答
为什么malloc()和printf()被称为
不可
重入
?
、
、
、
在UNIX系统中,我们知道malloc()是一个
不可
重入
的函数(系统调用)。为什么会这样呢? 同样,printf()也被认为是
不可
重入
的;为什么?我知道可
重入
性的定义,但我想知道为什么它适用于这些函数。是什么阻止了他们被保证可
重入
?
浏览 4
提问于2010-10-15
得票数 41
回答已采纳
1
回答
固定线程.不安全函数
unsigned int)(next/Y) % Z; next = seed;书中说,唯一修复这个函数的方法是重写它,所以它是可
重入
的我明白为什么如果你有很
多线程
,这是
不可
取的。但是,就正确性而言,这不应该奏效吗?
浏览 4
提问于2015-05-23
得票数 0
2
回答
可
重入
的读/写锁定构造?
、
、
、
我最喜欢的.NET
多线程
构造之一是。它允许多个读取器或单个写入器。我在iOS中真正缺少的一个特性是锁是可
重入
的。也就是说,只要他们释放的次数相同,就可以使用。我研究过iOS框架,似乎没有一个构造提供相同的支持,包括可
重入
性。我还研究了pthread库。我找到了rwlock,但它不允许
重入
。 iOS上有没有允许可
重入
读写锁的东西?
浏览 2
提问于2012-10-07
得票数 16
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
linux多线程服务器
分享:C语言编程——LINUX 多线程
关于可重入函数
Oracle Linux 系统如何去注册使用坚不可摧 Linux 网络
Python中frozenset,秒变不可变集合,再也不用担心多线程了!
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券