C++,多线程,线程中调用的函数能不能直接使用线程中定义的变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++,多线程,线程中调用的函数能不能直接使用线程中定义的变量?相关的知识,希望对你有一定的参考价值。

有个变量是在线程当中定义的,能不能在线程所调用的函数中直接使用?

不能直接使用,你可以通过传递函数参数给相应的函数,否则在被调用的函数中是不可见的。请参考。 参考技术A 不能 定义成全局变量

如何在 Cython 中调用多线程 C 函数?

【中文标题】如何在 Cython 中调用多线程 C 函数?【英文标题】:How to call a multi-threaded C function in Cython? 【发布时间】:2012-07-27 12:40:59 【问题描述】:

我有一个关于如何在 Cython 中调用多线程 C 函数的问题。

在 C 函数中执行多线程操作之前/之后是否需要释放/获取 GIL?

或者我可以像普通的 C 函数一样使用它吗?

我是否应该按照here 的说明进行一般 Python 扩展?

【问题讨论】:

【参考方案1】:

你应该看过几个部分。

http://docs.python.org/c-api/init.html#non-python-created-threads

【讨论】:

以上是关于C++,多线程,线程中调用的函数能不能直接使用线程中定义的变量?的主要内容,如果未能解决你的问题,请参考以下文章

多线程

C语言 用定时器 模拟多线程

c++中如何将子线程的参数传回主线程

C语言如何终止线程?

javaAPI_多线程基础_多线程基础1

如何在 Cython 中调用多线程 C 函数?