pthreads相关内容

ENOMEM 创建线程失败的原因?

我有一个应用程序在主线程中使用 pthread_create() 和 pthread_detach(),然后在子线程中使用 pthread_exit()线程. 在大约 54 个 pthread_create() 调用之后,每个调用都与后续的 pthread_detach() 和 pthread_exit() 配对,>pthread_create() 失败.ENOMEM 失败“内存不足". ..
发布时间:2021-11-25 07:20:26 C/C++开发

gdb:找不到新线程:系统更新后出现一般错误

我在运行我的应用程序的 ARM 板上运行基于 OpenEmbedded 的 Linux.我曾经运行过内核 2.6.35、gdb 6.8 和 gcc 4.3.最近我将系统更新到内核 2.6.37、gdb 7.4(也尝试了 7.3)和 gcc 4.6. 现在,我的应用程序无法再调试(在 ARM 板上),每次我尝试在 gdb 中运行它时,我都会收到错误“gdb:找不到新线程:通用错误".该应用程序 ..
发布时间:2021-11-17 22:17:58 其他开发

从主线程到线程传递参数.当线程退出主线程时,它会被重置为 0.为什么?

对于 uni 分配,我们必须使用蒙特卡罗方法估计 pi ​​并在线程中实现它.我的代码在下面,一切似乎都很好,除非我创建的线程结束时变量 numberOfPointsPerThread 被重置为 0.有人知道这是为什么吗?我认为每个线程都有自己的堆栈版本,因此当它退出时,它应该清除主线程堆栈.还是我错了? void * threadMonteCarlo(void * param){整数 r = ..
发布时间:2021-11-17 05:52:15 C/C++开发

从主线程到线程传递参数.当线程退出主线程时,它会被重置为 0.为什么?

对于 uni 分配,我们必须使用蒙特卡罗方法估计 pi ​​并在线程中实现它.我的代码在下面,一切似乎都很好,除非我创建的线程结束时变量 numberOfPointsPerThread 被重置为 0.有人知道这是为什么吗?我认为每个线程都有自己的堆栈版本,因此当它退出时,它应该清除主线程堆栈.还是我错了? void * threadMonteCarlo(void * param){整数 r = ..
发布时间:2021-11-17 05:50:58 C/C++开发

当 pthread_attr_t 不为 NULL 时?

来自 POSIX 线程的 pthread_create 的所有参数都非常容易理解,除了 pthread_attr_t.pthread_attr_t 是什么,如何以及何时不应由 NULL 初始化? 我浏览了 Linux 手册页.我找到的关于 pthread_attr_t 的描述是: 语法: int pthread_create(pthread_t *thread, const pthr ..
发布时间:2021-11-17 05:47:04 其他开发

PHP线程编译不起作用

我正在尝试将 pthreads 与 Apache FPM 结合使用. 第一步. 安装并重新编译php后根据: https://blog.programster.org/ubuntu16-04-compile-php-7-2-with-pthreads 服务器按预期工作,我可以从 CLI 运行 pthreads. 第 2 步. 然后我需要从 Web 服务器运行线程 ..
发布时间:2021-11-11 22:26:17 PHP

是否可以从孩子那里获取父线程 ID?

我正在尝试将检测添加到我的代码中,它将打印出类似 '线程 1 分叉线程 2' 关于如何实现这一目标有什么建议吗? 解决方案 术语更正:一个线程可以创建另一个线程,而不是 fork,这通常是用于提及一个进程分叉另一个进程. 不,一个线程无法获得另一个线程的标识符.在 Linux 上,您可以检查 gettid() == getpid() 是否是主线程.Solaris 有 th ..
发布时间:2021-06-23 18:38:57 其他开发

如何从父线程中提取 pthread 的 taskid(tid)?

我使用 std::thread 来启动线程.另外,我需要 /proc/[pid]/tasks/[tid] 中可用的工作线程的统计信息.我需要 tid 才能监控线程统计​​信息.我想知道是否有办法从父线程中提取 tid .我知道来自工作者的 syscall gettid() 返回它的 id,但我想要来自主而不是从的 threadId.有没有办法从 std::thread.get_tid() 的 th ..
发布时间:2021-06-23 18:38:52 服务器开发

变量作为 pthreads 中的参数

我编写了一个用于创建线程数的程序.该数字可以作为命令行参数传递或默认值为 5.我面临的问题是打印作为参数传递给 pthread writer 函数的线程编号. 下面是我的程序: #include #include #include #include void *writerThread(void *args){int id = *((int *)args);printf("在线程 %d\n ..
发布时间:2021-06-23 18:38:49 其他开发

从 `void *` 到 `void (*)(void*)` 的无效转换

所以我目前正在使用,或者至少尝试编写一个使用 的程序这个 C pthread 线程池库. 值得注意的是thpool.h中的以下函数: int thpool_add_work(threadpool, void (*function_p)(void*), void* arg_p); 我尝试添加作品的代码如下: int testpool(string (&input)[3]){//传递三个字 ..
发布时间:2021-06-23 18:38:45 C/C++开发

找不到 PHP 类“线程"

我已经通过以下 http://php.net/manual/安装了 pthreadsen/pthreads.installation.php从http://windows.php.net/downloads/pecl/releases/pthreads/ 我的php信息:-phpinfo(); PHP 版本 5.6.30编译器:MSVC11(Visual C++ 2012)架构:x86 ..
发布时间:2021-06-23 18:38:42 PHP

pthread_cond_broadcast 前的同步

我想从主线程向所有其他等待条件的线程发送广播信号.在我看来,广播信号提前到达线程. #include #include #define NUM 4#定义大小 256使用命名空间标准;pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;pthread_cond_t cond = PTHREAD_COND_INITIALIZER;pthread_bar ..
发布时间:2021-06-23 18:38:39 C/C++开发

为什么 PHP 中的一些线程数组操作似乎不起作用?

我有一个使用 pthread PHP 扩展的线程类: class 任务扩展线程{受保护的 $arr = array();公共函数运行(){$this->arr[] = 1;$this->arr[] = 2;$this->arr[] = 3;var_dump($this->arr);}}$thread = 新任务();$thread->start();$thread->join(); 输出莫名其 ..
发布时间:2021-06-23 18:38:36 PHP

在 pthreads 中丢失唤醒

我写了一些程序来尝试 pthread 条件等待.但问题是无法保证发出的信号会被捕获,从而导致线程失去唤醒.我该如何解决这个问题? #include#includepthread_cond_t cond = PTHREAD_COND_INITIALIZER;pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;void *thread_func1(vo ..
发布时间:2021-06-23 18:38:30 其他开发

在线程中存储闭包失败

我正在尝试在线程运行完成后使用闭包作为回调.但是,我遇到了 PHP 或 pthread 扩展的限制/失败问题. 我的开发堆栈在 Win7 x64 上运行,PHP 5.5.3 x86 TS,pthread 版本 0.44. 以下代码有效: class 测试{公共 $callbackVar;}$test = 新测试();$callbackVar = function(){echo "调用 ..
发布时间:2021-06-23 18:38:27 PHP

在 redhat 上启用 zts - php 上的 pthreads

我正在 redhat 上安装 pthreads 库并使用它在 php 中进行线程处理.几个月前,我在其中一台测试服务器上成功安装了它. 我现在无法安装它 pecl 安装 pthreads 需要先启用 zts.我想知道如何启用它,以便我可以继续安装线程库.. 解决方案 为了启用 ZTS,我需要下载 php 源代码,必须启用 zts 并且需要使用 gcc 的 make 和 make ..
发布时间:2021-06-23 18:38:24 PHP