问题标签 [pthread-join]

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 回答
497 浏览

c - pthread_join 和 pthread_exit

在 pthread_exit 调用中,我们传递了一个指向我们必须传递的值的指针。在 pthread_join 中,根据手册页,它应该是指向指针的指针。我不相信它。当我使用指向 char 的指针时,我是得到预期的结果。但是当我使用如下所示的 int 时,我得到了一个垃圾值。这个实现是否正确?

0 投票
2 回答
253 浏览

c - 在 pthread_join 函数中使用指向指针的指针

根据手册页 pthread_join 应该使用指向指针的指针作为参数来存储返回值。我不明白为什么它会这样设计。在其中使用指针变量就足够了吗?

0 投票
1 回答
251 浏览

c - 每次使用 pthread 调用方法时创建一个新线程

我想创建一个程序,每次调用特定方法时都会创建一个新线程。到目前为止,这是我的工作代码:

但是,正如您在我的代码中看到的那样,存在一些问题!例如,我如何等待所有进程完成我正在使用的代码,因为我没有跟踪线程号。此外,当一个线程“BusyWork”完成后,它不会在它自己之后清理并作为一个孤立进程离开。

我的一个想法是使用向量来跟踪每个线程号,然后将其用于 main 末尾的最终连接。然而,问题在于数组列表很容易变得非常大,即使线程完成也永远不会缩小。

0 投票
1 回答
9342 浏览

pthreads - 在循环中创建 Pthreads

我在 for 循环中创建了一些线程,在这个循环之后,将它们加入到另一个循环中。他们完成他们的工作,直到他们都完成它,是吗?我的最后一个结果在逻辑上是错误的。我的结果是正确的,就在创建后加入每个线程时!!

0 投票
2 回答
3461 浏览

c - 线程不并行运行

我想做并行线程。示例:我的输出如下:thread1 thread3 thread4 thread2 ... 在 main 中:

我的功能(例程)是:

我总是得到不平行的结果:thread1 thread2 thread3 thread4。我希望这些线程同时运行 - 并行。也许问题是位置 pthread_join,但我该如何解决呢?

0 投票
1 回答
91 浏览

c++ - 如何等待两个 pthread?

谁能告诉我最后两行代码之间发生了什么

我想同时等他们。如果两个线程之一终止/退出怎么办?如果服务器一直在无限循环中运行怎么办?

0 投票
2 回答
382 浏览

pthreads - 是否有必要释放为 Pthread 分配的内存?

代码如下:

那么,有必要free(threads)吗?是否pthread_attr_destroy(&pta)释放内存资源?

0 投票
1 回答
313 浏览

c - pthread_join 似乎修改了我的循环索引

我的代码(见下文)产生了奇怪的行为。输出是:

我试图调试它,但只发现在 pthread_join 之后 i 被重置为 0。这使我得出结论,修改必须发生在某个地方。但我找不到东西。我觉得有点愚蠢,因为这并不是一段很难的代码。我没有注意到什么?

操作系统是 Ubuntu 14.04。N_THREADS 当前设置为 10,N_RUNS 为 10000。

主线程:

工作线程:

除了主线程和上面代码中创建的线程之外,没有其他线程。

可编译的例子

0 投票
1 回答
1757 浏览

c++ - pthread_join 分段错误

我正在尝试将 pthread_join 与此生产者-消费者程序一起使用,但我不断遇到分段错误。我的目的是等待所有生产者线程结束,然后终止所有消费者。但是在第一个线程加入后,我遇到了分段错误。我搜索了网络,但没有发现任何有用的东西。有任何想法吗?

0 投票
1 回答
9261 浏览

c - c中的pthread_join函数

我对 pthread_join() 有疑问,希望大家回答。我正在运行下面的程序,并且要打印一行。之后,我试图删除“pthread_join(th,&val),并且没有要打印的行。

我发现了程序中的所有功能,但我不明白为什么。

你能帮我吗,我很感激所有的答案。