pthreads 相关问题

Pthreads(POSIX Threads)是一个标准化的基于C的API,用于创建和操作线程。它目前由POSIX.1-2008(IEEE Std 1003.1,2013 Edition / The Open Group Base Specifications Issue 7)定义。

TLS 变量查找速度

考虑以下程序: #包括 静态 int 最终值 = 0; #ifdef TLS_VAR 静态 int __thread tls_var; #别的 静态 int tls_var; #endif void __attribute__ ((noinlin...

回答 1 投票 0

非阻塞pthread_join

我正在编写多线程服务器的关闭代码。如果一切顺利,所有线程都应该自行退出,但是线程卡住的可能性很小。在这种情况下,它会是

回答 9 投票 0

C 中信号量的线程同步

我正在做一项作业,要求我模拟一辆巴士从A站一次又一次地行驶到B站,而学生可以上下车。 我编写了整个例程的代码...

回答 1 投票 0

即使从 C++ 线程中使用 pthread_self() 获取线程 ID 是否可靠?

在Linux上,libstdc++不使用pthread_create()来创建线程,从这个bug可以看出:https://bugzilla.kernel.org/show_bug.cgi?id=218607(libpsx包装了pthread_create())拦截...

回答 1 投票 0

gcc -pthread 和 -pthreads 之间的区别?

我有一个pthreads程序。我必须在Linux中使用gcc -pthreads(-pthreads是无法识别的选项)和Sun中的gcc -pthreads(-pthread是无法识别的选项)来编译它。为什么会有差异,因为我...

回答 1 投票 0

使用 C 中的互斥体使用 2 个线程打印奇数和偶数

程序中的两个线程交替打印偶数和奇数,直到 100。 我已经尝试过并且有效。 有没有办法访问 main 内部共享数据的值并终止 2 t...

回答 8 投票 0

printf() 如何作为安全取消点工作?这取决于什么?

我有一个小程序,应该创建一个线程并取消它。 #包括 #包括 #包括 #包括 无效*

回答 1 投票 0

pthreads_setaffinity_np:参数无效?

我已经设法让我的 pthreads 程序正常工作。基本上我试图手动设置 4 个线程的亲和力,以便线程 1 在 CPU 1 上运行,线程 2 在 CPU 2 上运行,线程 3 在 C 上运行...

回答 1 投票 0

在 macOS 中未为 pthread 设置 QOS 类

我正在构建一个 macOS 项目,在其中使用 cpp 中的 pthread 创建线程。我使用 pthread_attr_set_qos_class_np 设置 QOS 类,然后使用...检查 QOS 类的值...

回答 1 投票 0

我对内存排序模型的理解正确吗?

我正在学习 C 内存排序模型,我想出了这个小代码,让生产者和消费者与“单元”共享“桶”。 我打算创建这个序列...

回答 1 投票 0

多进程多线程共享内存环境中pthread读写锁的意外行为

我正在多进程、多线程环境中工作,其中我使用存储在共享内存中的 pthread_rwlock_t 读写锁,以便所有进程都可以访问它。这是我初始化的方法...

回答 1 投票 0

如何提高pthreads中的线程优先级?

我在Linux中使用pthread。我想通过设置参数 sched_param.priority 来提高线程优先级。然而,我在网上找不到太多关于

回答 3 投票 0

C++11:Linux 上的 std::thread 是否依赖于 pthread 库?

我读到 pthread 是 C 库,与 C++ 对象模型不兼容,特别是在谈论异常处理时。 所以我想知道在linux系统上,gcc/clang如何实现std::thr...

回答 4 投票 0

“主线程可以动态增长其堆栈”是什么意思

在 pthread_attr_setstacksize() 的手册页上 线程的堆栈大小在线程创建时是固定的。只有主线程可以动态增长其堆栈。 我对linux pthread的理解,...

回答 1 投票 0

pthreads:如何处理创建其他线程的主线程中的信号? (具体代码可见)

我有一个主线程,它保留在 main 函数中,即我没有像 pthread_create 那样专门创建它,因为它没有必要。该线程打开一个文件,然后创建其他线程,...

回答 2 投票 0

如何通过pthread_self()正确获取tid?

正如我在标题中提到的,我尝试通过 pthread_self() 获取 tid(线程 id)。 (我这样做的原因是因为我试图避免系统调用) 我知道可能没有便携式解决方案,但没关系。我是

回答 1 投票 0

pthread_cond_timedwait 块,SCHED_FIFO 和 rtprio 设置为 99

我正在调查一个问题,其中 pthread_cond_timedwait() 似乎会阻塞,即使绝对等待时间已经明显过去。 我正在研究的程序已将其所有线程设置为使用

回答 1 投票 0

如何使用互斥体和条件优雅地退出线程

下面的演示使用互斥锁来保护共享变量sum,线程一等待线程二的信号对变量sum进行操作,线程三监视变量sum以销毁互斥锁。效果很好...

回答 1 投票 0

为什么pthread_cond_timedwait使用2个锁(condlock和mutex)?

pthread_cond_timedwait的基本步骤如下: 1. 获取互斥锁(在调用pthread_cond_timedwait之前)。 2. 获取条件锁。 3. 释放互斥锁。 4.修改c...

回答 1 投票 0

如何从 C++ 线程中返回向量?

结构Data_1{ 字符串 stm; ... }; 无效get_child_tree_thread(无效*参数){ 矢量 v_结果; 数据_1a,a1; a.stm =“1234”; a1.stm =“123...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.