- 主题:谁能举个函数可重入,但不线程安全的例子
嗯,这个解释靠谱。就是说整了半天,可重入就不是个现代通用概念,只是早期基于Linux信号处理场景的一个定义。
如果只论多线程场景,可重入和线程安全就是等价的。
【 在 foliver 的大作中提到: 】
: 其实主要的歧义来自于可重入的定义。
: 可重入的概念很早,来自于中断服务程序,那时还没有多线程的时候。当一个函数正在执行时,中断来了,那么当前调用暂停执行,重新进入该函数,第二次执行完毕后 返回第一次调用暂停的地方重新执行。
: 按照这个定义,可重入和线程安全其实没啥关系。各种组和都会出现。
: ...................
--
FROM 106.3.192.*
多线程场景下可重入应该强于线程安全吧。
--
FROM 112.41.10.*
递归
【 在 wjhtingerx 的大作中提到: 】
: rt
: --
:
发自「今日水木 on iPhone 8」
--
FROM 101.67.149.*
线程不安全主要是用到了全局变量或全局资源,比如链表数组之类的资源,线程安全的函数不能有公用的全局变量和资源,或者虽然用到了全局变量或资源,但是只读或者是有锁保护也是线程安全的
【 在 wjhtingerx 的大作中提到: 】
: rt
: --
:
发自「今日水木 on MHA-AL00」
--
修改:smthxes FROM 117.136.95.*
FROM 117.136.95.*