加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C中如何使函数线程安全?

发布时间:2020-12-16 06:01:31 所属栏目:百科 来源:网络整理
导读:假设我有一个有5个子线程的线程池.他们正在调用一个名为“functionA()”的函数.我该如何使该函数为线程安全? 同样如果这5个线程同时被调用,那么它们是否同时执行? 还是等到当前正在功能完成的线程完成? 提前致谢.. 解决方法 如果函数不修改非本地内存,并
假设我有一个有5个子线程的线程池.他们正在调用一个名为“functionA()”的函数.我该如何使该函数为线程安全?

同样如果这5个线程同时被调用,那么它们是否同时执行?
还是等到当前正在功能完成的线程完成?

提前致谢..

解决方法

如果函数不修改非本地内存,并且不调用任何函数,则该函数已经是线程安全的.在这个(微不足道)的情况下,你不必做任何事情.

你真的想考虑保护数据,而不是功能.例如,假设函数修改非本地数据结构X.提供互斥体以保护X并在每次访问之前锁定它并将其解锁.你可能有更多的函数访问X(例如,insertX(),deleteX(),…).只要你保护数据就行了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读