Pthreads(POSIX Threads)是一个标准化的基于C的API,用于创建和操作线程。它目前由POSIX.1-2008(IEEE Std 1003.1,2013 Edition / The Open Group Base Specifications Issue 7)定义。
我需要一个C代码来编写一个N个线程可以相互通信的程序。 每个线程 id 都可以等待它想要的任何线程 id。 每个线程 id 都可以表示它想要的线程 id。 他们...
多线程数据包处理程序中线程卡在 pthread_cond_wait
我正在开发一个用 C 语言编写的多线程程序,该程序通过使用环形缓冲区读取和写入数据包来模拟网络流量。每个线程从缓冲区读取数据包并将其写入文件 af...
我有一个算法,需要多次并行重新运行相同的代码。代码很短,不到一微秒即可完成。这将运行数百万次,这会在
所以,我已经安装了虚拟机(kali linux),我想知道我是否可以完成我的作业,这需要使用 C.S 中的 Pthreads 库创建和管理多个进程...
CMake 的 FindThreads 脚本文档表示,“如果找到的线程库与 pthread 兼容”,将设置变量 CMAKE_USE_PTHREADS_INIT。 这意味着什么?如果是交流电...
使用 pthread_cond_signal 和 pthread_cond_timedwait 时出现问题
我有一个小程序,有两个线程互相发送信号。 程序首先按预期工作,但在多次运行后停止,因为 pthread_cond_timedwait 遇到超时。 对于我的测试,我...
尝试使用 pthread 条件变量和互斥体在 C++ 中实现 pthreads 屏障
我目前正在尝试实现一个屏障来控制一组线程。屏障类需要一个构造函数、析构函数和等待方法,我相信我已经正确创建了这些方法。
我写了以下openmp代码: omp_set_lock(&lock); #pragma omp 任务 { 做工作(); omp_unset_lock(&lock); } 这似乎有效。然而,omp 标准规定,只有...
使用 pthread_kill() 向特定线程发送 SIGINT 会导致整个进程终止
我有一个非常大的多线程C应用程序(由于这个原因和其他一些原因我无法提供完整的代码)。长话短说,其中有两个线程:线程 1 向 3 发送 SIGINT...
QNX 7 中的 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 错误
我正在将代码从 Linux 移植到 QNX 7。 PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP 在我的代码中的许多地方使用。在 Linux 中,这是在 pthread.h 中定义的。在 QNX 中,我无法找到它的位置...
我有一个简单的问题。我应该创建一个小型多线程程序来从多个传感器获取数据,并且我了解 pthreads 和 qthreads。我可以访问这两个图书馆。
我正在使用 C++ 和 pthreads 进行一些事件处理。我有一个从我定义的事件队列中读取的主线程,以及一个填充事件队列的工作线程。队列当然是线程安全的。 ...
线程如何与“pthread_create”时传递的“启动例程”函数一起工作?
我刚刚开始了解线程如何使用 pthreads 库在 Linux (Ubuntu) 上真正工作。我被困在第一个程序上。先看代码: #包括 #包括
在Linux C程序中,如何打印pthread库创建的线程的线程id?例如我们如何通过 getpid() 获取进程的 pid。
我的目标是: 我想让多个线程运行同一个函数,该函数是一个 while(1) 循环,所以它会继续下去。在某些时候,main 应该使用互斥体来强制所有线程阻塞 u...
Windows 上 C 语言的主函数结束后如何保持线程存活?
问题: 我正在开发一个 Windows 的 C 项目,我需要创建一个独立于主函数运行的线程。目标是确保该线程即使在 m...
我尝试将线程与条件变量同步以输出曼德尔博特,但我得到了错误的曼德尔博特。 函数output_mandel_line 和compute_mandel_line 已给出并且是正确的。我做了...
Linux 上使用默认 (SCHED_OTHER) 调度策略的每线程调度优先级
我正在尝试实现一个跨平台包装器来调整当前线程优先级;在 POSIX 上,“正确”的事情看起来像 /// 设置当前t的优先级调整...
涉及 pthreads 的最琐碎的 C 程序中出现奇怪的零星错误
下面是一个简单程序的 C 源代码。 该程序有一个主循环,要求用户在 3 个选项之间进行选择: 1-打印一些文本 2-做一些工作(没有副作用) 3-退出...