问题标签 [pthread-key-create]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
24 浏览

multithreading - 单线程和多线程

有谁知道解释的方式,或者你能指导我一些关于单线程和多线程的材料吗?我完全不理解他们。我读到的每一个解释都是非常复杂的英文。

我想完全理解它们。一篇很好的文章/书籍/网站等,如果解释得很好,将不胜感激。

0 投票
1 回答
170 浏览

c - C,在循环中初始化的 pthreads 没有正确执行分配的函数,尽管有互斥锁

我在调试我的 C 程序时遇到了麻烦,其目标是创建 5 个线程,并让每个线程处理长度为 10 的数组的大小为 2 的块。目标是获得该数组的总和。我的实际程序比这要简单一些,因为它需要动态数组大小和线程数,但我尝试将其简化为这个简单的问题,但它仍然不起作用。

IE。,

数组 = {1 2 3 4 5 6 7 8 9 10}

然后 thread1 在数组 [0] 和数组 [1] 上工作

和 thread2 适用于数组 [2] 和数组 [3]

ETC...

thread5 适用于数组 [8] 和数组 [9]

但是,当我运行我的代码时,即使使用互斥锁,我也会得到奇怪的结果。

例如,这是我运行这个程序时的结果之一。

首先,为什么前 3 行的“新总和”之前没有制表符?(请参阅我的 printf log in calculate_sum 函数)。更重要的是,为什么线程 0 从不执行它的工作,为什么线程 4 执行两次?

0 投票
1 回答
51 浏览

c++ - pthread 看不到作为参数传递的实例变量

我有一个使用 boost python 的 C++ 类。我正在尝试使用 pthread 在 C++ 的线程中运行 python 代码。问题是下面的代码没有产生任何输出。我期待标准输出John DOE中的输出。似乎它&this->instance不带有对象内部设置的值。如何将当前对象或其实例变量传递给pthread_create以便pthread可以看到正在传递的内容?

Python:

C++:

谢谢你。