gpt4 book ai didi

c - 在模块之间共享互斥量

转载 作者:行者123 更新时间:2023-12-04 11:25:24 24 4
gpt4 key购买 nike

如何在模块之间使用互斥体?

我有一个模块可以创建运行来自另一个模块的函数的线程。

我需要在线程创建模块中读取一个变量,而执行来自其他#included 模块的函数的线程会修改该变量。在这样的系统中如何锁定和解锁互斥锁?

例如逻辑模块生成 2 个线程,每个线程运行来自另一个模块的函数。有一个称为当前位置的变量需要从逻辑模块中读取,例如。另一个模块调用 getCurrentPosition。这些存在于逻辑模块之外的线程函数如何使用逻辑模块中定义的互斥量?

线程运行函数需要对定义在逻辑模块中的互斥体进行加锁和解锁。

最佳答案

您可以像声明和使用外部变量“当前位置”一样使用互斥锁。这里没有太大区别。

extern pthread_mutex_t mtx;
extern int current_position;

关于c - 在模块之间共享互斥量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5790618/

24 4 0