Pthreads(POSIX Threads)是一个标准化的基于C的API,用于创建和操作线程。它目前由POSIX.1-2008(IEEE Std 1003.1,2013 Edition / The Open Group Base Specifications Issue 7)定义。
如果程序调用作为信号处理程序取消点的函数,会发生什么?有许多函数被 POSIX 指定为异步信号安全和取消点...
科学计算领域的大多数人在共享内存并行化方面都使用 OpenMP 作为准标准。 是否有任何理由(除了可读性之外)在 pthreads 上使用 OpenMP?拉...
假设我正在创建 2 个线程,并且还创建了同步。 线程 1:程序将 2 个整数相加。 线程 2:减去 2 个整数的程序 在多线程中线程1和线程2将 成为执行者...
我正在学习 C 语言的多线程,我正在尝试构建一个简单的聊天应用程序。这个想法是客户端连接到中央服务器,服务器将客户端发送的消息转发到
我正在分析使用 gcc 6.1 和 -fsanitize=address 选项编译的程序。该程序是多线程的,每个线程都有干净的退出(使用 pthread_exit)。 地址消毒剂失败并显示
C 中的互斥体/锁:C11 `mtx_lock()` 与 `pthread_mutex_lock()`
互斥锁直到 C11 才被引入到 C 标准中,对吧?既然它们已经存在,那么人们应该使用哪一个或更喜欢哪一个,以及何时使用?为什么?有什么区别? C11 的 mtx_lock() 与 pthread_mutex_lock(...
我正在尝试在程序中使用C11标准线程,并且专门使用Mingw-w64工具链x86_64-8.1.0-posix-seh-rt_v6-rev0。 当我 #include 作为 C11 支架时...
如果两个线程调用同一个函数,但函数中的所有变量都是局部变量,我还需要担心线程之间共享数据吗?
假设我有以下高级格式的 C++ 代码: #包括 void func1(向量 &somevec1, 矢量 &somevec2, size_t somesize){ //somevec1 和
GCC:- 在 Linux 上链接库以创建 so 文件时无法找到 libpthread_nonshared.a 文件
嗨,我正在尝试在 Ubuntu 20.04 中使用 gcc 10.2 编译一个 c 项目。 但最后它给了我如下错误 /usr/bin/ld: 找不到 /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a 收集2:错误...
尽管 pthread_cancel 清理处理程序中存在互斥锁保护访问,ThreadSanitizer 仍报告数据争用
在多线程 C++ 程序中使用 pthread_cancel 和清理处理程序时,我遇到了 ThreadSanitizer 的令人困惑的问题。消毒程序甚至会报告全局变量上的数据竞争......
我写了一个简单的程序 #包括 #包括 #包括 无效*线程(无效*参数){ printf("thread() 使用参数 '%s' 输入 “,arg)...
让父线程在初始化子线程后等待直到收到来自子线程的信号的最佳方法是什么?
在使用 pthread_create 生成线程后,我希望父线程等待任意时间,直到子线程允许其继续。这是我可能会采取的方法......
问题: 我正在开发一个 C 程序,其中有两个线程 p1 和 p2,我需要它们打印序列 1234 1234 1234 ....我使用信号量来同步线程,但输出...
分离线程与从 main() 调用 pthread_exit(),这两种情况下对资源和内存的影响
我对 C 编程相当陌生,目前正在尝试更广泛地了解 pthreads 库和线程。 问题一: 何时以及为什么分离线程是一个不错的选择...
分离线程与加入所需线程并从 main() 调用 pthread_exit(),这两种情况下对资源和内存的影响
我对 C 编程相当陌生,目前正在尝试更广泛地了解 pthreads 库和线程。 问题一: 何时以及为什么分离线程是一个不错的选择...
多线程程序中sigprocmask和pthread_sigmask的关系
sigprocmask(2) 说: 进程中的每个线程都有自己的信号掩码。 , 但是也: 在多线程进程中未指定 sigprocmask() 的使用; 请参见 pthread_sigmask(3)。
POSIX C 线程。 pthread_cond_t 示例。没有达到预期效果
我写了一个程序,但它没有像我期望的那样工作。 我有两个线程:线程触发 func 和 anotherThread 触发 anotherFunc。我想做的是当 cont 达到值 10 时...
我在网上搜索了所有答案,但找不到任何解决方案。你能帮忙吗? 我的问题是我正在尝试将 Lambda 发送到另一个函数并使用 Pthread 库来运行 lambda ...
我有一个在 Linux 上运行的基于 C 的应用程序,大约有 30 个线程。 现在我需要编写一个小实用程序来查找给定时间每个线程的 CPU 使用情况。它可以是单独的或一部分
我实际上正在使用SMP进行编译器项目,并且想要使用pthreads进行编码,并且听说了许多并行的东西打开mpi等等,所以首先从如何将这个线程分配给核心而开始