一些关于线程的可重入和不可重入的知识
发布时间
阅读量:
阅读量
【掌握线程相关概念中的可重入与不可重入特性具有重要意义。
线程的可重入与不可重入 指的是
某一函数或代码段在被多个线程同时调用,或者在同一线程中多次执行时,是否能够避免出现逻辑错误或数据不一致的现象。
1.可重入:
当某一函数或代码段能够被多个线程或多次调用,并且每次执行后所产生的结果保持一致时,该函数或代码段便具备可重入性。
具备可重入特性的函数或代码段一般不会依赖全局变量或静态变量,同时也不会调用那些不具备可重入性质的函数或代码段,而是仅依赖于局部变量以及外部传入的参数。
具备可重入性质的函数或代码段能够确保线程安全,这意味着在多个线程并发执行或者多次调用的情况下,不会引发数据冲突或错误。
2.不可重入:
当某一函数或某段代码无法被多个线程或多次调用,或者其执行结果可能因调用次数不同而发生变化时,该函数或代码段便被称为不可重入。
通常情况下,不可重入的函数或代码段会依赖全局变量或静态变量,或者调用其他同样不具备重入特性的函数或代码段,并且未对这些共享资源实施必要的保护机制或同步操作。
不可重入的函数或代码段可能引发线程不安全的问题 ,即由于多个线程同时访问或多次调用而导致数据出现混
全部评论 (0)
还没有任何评论哟~
