pthreads 相关问题

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

是否可以使用 thread_info() 或 pthread_mach_thread_np() 来了解 OSX 上的线程是否已终止?

我正在尝试在 OSX 上实现类似于 pthread_tryjoin_np 的东西。 为此,我需要一种可靠的方法来查找 pthreat_t 是否已终止。 我找到了 mach_port API,我很想知道......

回答 1 投票 0

Linux 中线程创建会触发页面错误吗?它与 soft-dirty PTE 有什么关系?

之所以问这个问题,是因为我在测试linux soft-dirty bit的行为时发现,如果我创建一个线程而不触及任何内存,所有页面的soft-dirty bit都会......

回答 0 投票 0

在线程中调用 pthread_cond_wait 是否解锁互斥量

手册页说这个 pthread_cond_wait 以原子方式解锁互斥量(根据 pthread_unlock_mutex)并等待条件变量 cond 发出信号。 但是线程 start_function 可能是...

回答 2 投票 0

Python-如何在一段时间内只允许一个线程通过

我做了一个 while 循环,如果条件为真,它调用一个线程来执行一个操作,一旦该操作完成,它应该意味着该条件在一段时间内不再为真。然而自从...

回答 0 投票 0

线程加入前线程本地存储持续时间

线程本地存储(C11 的 _Thread_local 或 gcc 的 __thread)在(非分离的)线程返回后但在加入之前(例如,通过其他线程的指针访问)是否仍然可用?

回答 1 投票 0

进程从未命名管道读取或更新共享内存中的变量时出现问题 C, linux

首先,感谢您的阅读和帮助! 这是一个多进程多线程的C语言代码。它涉及创建多个工作进程和一个与...进行通信的调度程序线程

回答 1 投票 0

C中的竞争条件

我有以下程序(缩写)来计算每个字母在使用线程的文件中出现的次数: #define N_LETTERS 26U #define IS_LETTER(x) (x >= 'A' && x <= 'Z') #

回答 2 投票 0

通过编译器优化(C / gcc)锁定正确性

在与我的教授讨论并发性时,他提到围绕锁的潜在编译器优化(重新排序指令、优化访问等),例如 pthread_mutex_lock() 可以...

回答 1 投票 0

如何使用 POSIX 线程声明递归互斥体?

我对如何使用 pthread 声明递归互斥锁有点困惑。 我尝试做的是一次只有一个线程能够运行一段代码(包括函数)但是在怀疑之后我

回答 4 投票 0

什么时候需要 pthread_mutex_destroy?

想问一下pthread_mutex_t的正确用法。 我知道您可以使用 pthread_mutex_init 函数进行初始化,也可以将其设置为 PTHREAD_MUTEX_INITIALIZER 并且

回答 0 投票 0

为什么这里使用 (uintptr_t) 的转换?

在这里,在 pthread.h 和 stdint.h 的上下文中: void *run(void *arg) { uint32_t 线程 = (uintptr_t) arg; ... 返回 NULL } 这是我教授的代码,我阅读了规范...

回答 2 投票 0

C、linux 中线程和未命名管道的问题

首先,感谢您的阅读和帮助! 在下面的代码中,它意味着创建 5 个工作进程并监听(读取)来自作为

回答 1 投票 0

有没有办法确定函数是否从 pthread 调用?

我正在开发一个库后端应用程序,它需要处理来自 pthreads 和非 pthreads 的调用,特别是我想在库中设置线程特定状态。注意,我没有

回答 2 投票 0

C、linux 中线程和未命名管道的问题

首先,感谢您的阅读和帮助! 我正在制作一个涉及进程、线程、命名和未命名管道以及消息队列的程序,目标是模拟一个管理

回答 0 投票 0

如何修复 Musl x86_64 LibC 上对 PThread 的未定义引用?

一段时间以来,我一直在尝试针对 Musl 进行编译。我的目标是制作一个游戏引擎二进制文件,它可以使用相同的二进制文件在尽可能多的 x86_64 Linux 发行版上执行。 问题是,

回答 1 投票 0

C 多线程 | for 循环中的线程创建使用上次迭代的参数

我是多线程的新手,一般来说不是 C 语言中最好的,所以对我来说很简单。 我有一个 for 循环,它创建了许多线程,我将参数传递给这些线程: 对于(int i = 0; i <

回答 2 投票 0

使用 pthread_getname_np() 检查线程当前是否正在运行是否安全?

我之前在一家公司的代码库(使用 C 为基于 linux 的系统开发嵌入式软件)中看到使用 pthread_getname_np() 检查线程当前是否正在运行。我有...

回答 0 投票 0

在带有 mingw 编译器的 Windows 中使用 pthreads

我在尝试编译包含 pthreads 的代码时遇到了错误。 我尝试从以下位置下载 pthreads 库: ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip 和

回答 0 投票 0

在循环中创建+加入多个 pthread (C)

我正在使用循环创建线程,其中用户通过参数指定线程数。一般代码如下: void* thread_fn(void* arg) { int num = *(int*)arg; p...

回答 0 投票 0

pthread_mutex_lock 实现:如何改变参数?

我有 pthread_mutex_t lock1 pthread_mutex_t id 定义为 (void*) 所以我认为 pthread_mutex_init(&lock1, NULL);做一个malloc 和 int k = pthread_mutex_lock(&lock1);以某种方式改变...

回答 0 投票 0

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