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

前端之家收集整理的这篇文章主要介绍了C中如何使函数线程安全?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个有5个子线程的线程池.他们正在调用一个名为“functionA()”的函数.我该如何使该函数为线程安全?

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

提前致谢..

解决方法

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

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

猜你在找的C&C++相关文章