问题标签 [pthread-exit]

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

c - 试图了解 pthread 在 C 中的工作原理

我正在尝试在 C 中使用 pthread 来比较两个字符串。这个想法是查看完整的字符串 2 是否在字符串 1 中(例如,如果string1 = lkajdsgl然后string2 = jd我会有一个匹配项)。我不明白的是 pthread 如何以一般方式工作。在这里,我正在创建我的 pthread,假设NUM_THREADS=3,那么我应该有 3 个线程,线程 [0]、线程 [1] 和线程 [2]。每个都将调用 Pthrd_Substring 函数。字符串将从文件中读取并在函数中进行分析。但是,我不明白的是如何使用pthread_join. 如果字符串有 12 个字符长并且我只有 3 个线程,那么系统如何知道要继续使用 3 个线程分析字符串,直到检查完所有 12 个字符?(该函数查看字符串 1 中的每个字母,并将其与字符串 2 中的第一个字母进行比较,然后确定是否存在完整的字符串 2。)

我可以使用类似的东西:

并且在函数中有一个全局总数?但是,这会以某种方式检查字符串中的每个字母吗?


我犹豫是否要包括这部分,因为我没有完全解决它,因为我不明白 pthread 调用在主程序中是如何工作的。但是,这是我为该函数提供的伪代码,这里n1是字符串长度string1n2长度string2

0 投票
1 回答
373 浏览

c - 如何使用 pthread、pthread_exit 将 * 转换为 double/float

我需要创建一个计算递归的程序(对于某些序列)。当我使用 int 并取消递归时,它可以计算没有浮点数的值(如斐波那契数列,它只返回中性数)它可以工作。但是,当尝试使用基于除法(带有浮点数)的序列时,它会显示如下错误:

错误:无法转换为浮动类型 pthread_exit((void*)(float)wynik;

我应该如何更改代码(或实际上是一个函数 *ciag,因为那个有问题),它将接受浮点数?

工作正常的函数(带int)

我遇到的问题(使用浮点数,但当我尝试使用双精度时也会发生同样的情况)

0 投票
1 回答
76 浏览

c - 从 C 中将结构指针传递给 pthread_exit() 读取返回值时出错

我试图通过 pthread_exit() 函数将指向 struct lower_hyper_id 的指针从线程传递到主线程,该函数将比较并输出结构中的值。但是,当我尝试使用返回的值并将其转换为结构时,我收到一个错误(分段错误)。

创建并返回结构的线程:

主要是:

我已经查看了 stackoverflow 中的答案,例如这个问题,但它并没有帮助我解决这个问题。我实际上将代码更改为与此答案中的代码完全相同,但它仍然给我一个错误。

0 投票
1 回答
131 浏览

c - 退出线程并返回

我有一个小问题,我希望找到可以提供帮助的人。我正在尝试使用 ucontext 在 c 中开发一个线程库,并且我已经为此开发了基本功能。所以现在我的问题是我想考虑当用户用 return 而不是我的 exit 函数完成他的函数时的情况。

是否可以知道线程上下文是否完成并在用户在其函数中使用 retutn 时获取返回值?

0 投票
2 回答
77 浏览

c - 使用 pthread_exit 终止线程,然后返回 - 奇怪的例子

我找到了这个例子;这里两个线程 threadDefault 和 threadCustomized 通过使用 pthread_exit 然后返回来终止。为什么作者写了这两个指令?

0 投票
0 回答
57 浏览

c - 将整数变量的地址传递给 pthread_exit

pthread_exit 函数应该将 void 指针作为输入。我想知道为什么可以在不执行强制转换的情况下传递整数变量的地址(例如 pthread_exit(&ret1)这里)。

0 投票
1 回答
68 浏览

c - pthread_join 后局部变量值不正确

我试图通过将数组拆分为大小为 10 的段,将 1000 个元素的整数数组(其中每个元素为 1)与 pthread 库相加。因此,有效地使用了 100 个线程来执行此操作。这个并行操作的结果和预期的一样(1000)。但有趣的是,我在创建线程之前计算的顺序总和在我第一次调用pthread_join(). 不确定我是否在这里遗漏了什么。有人可以在这里发现错误吗?

0 投票
1 回答
57 浏览

c++ - pthread_exit() 抛出警告:从不同大小的整数转换为指针 [-Wint-to-pointer-cast] 警告

我一直在学习pthread库,并创建了一个简单的代码来将两个数字相乘,但是我无法摆脱这个警告。附言。代码工作正常。

这是警告:

任何见解将不胜感激。

0 投票
1 回答
88 浏览

c++ - 在分段错误处理程序中调用 pthread_exit 时终止调用而没有活动异常

你好吗?
我将在 Ubuntu 18.04 上修复工作线程中的分段错误。
我的代码如下。

代码运行良好。
此代码的输出如下。
新线程运行成功
0
新线程运行成功
1
新线程运行成功
2
线程崩溃
3
新线程运行成功
4
新线程运行成功
5
新线程运行成功
6
新线程运行成功
7

但是如果我将函数“thread_func”更改如下,程序就会崩溃。

错误消息如下。

新线程成功运行
0
新线程成功运行
1
新线程成功运行
2
线程崩溃
终止调用,没有活动异常
中止(核心转储)

当然,我确信 OpenCV 模块没有问题。
你能帮我解决这个问题吗?
谢谢

0 投票
0 回答
42 浏览

linux - Pthreads 和 QT

我有一个问题,我需要来自 QT Designer 的 GUI 为从终端运行的单独程序提供值,其中来自 GUI 的值被“打印”到终端界面(带有 GCC 编译器的 Linux)

我研究过 pthread,但它们的应用示例仅限于应用内使用。我的主文件中的代码如下:

**请注意,xValue、yValue 和 zValue 已经从 QT 应用程序流式传输到文本文件。我正在调整应用程序以进行终端运行和控制。