pthreads相关内容

select() 和 read() 在串行端口读取时超时但先前的 write() 成功?

三周后我无法解决这个问题.我在 Ubuntu 18.04.3 上运行了下面的代码,它成功地将字符串发送到另一台设备.当远程设备收到字符串时......它会发送另一个......但下面的代码(即使设置了 1 秒)在 select() 上超时. 当我注释掉 select() 并只执行 read() 时……也没有看到任何数据? 它在三周前就可以工作了……但最近的代码更改破坏了它……我不明白为 ..
发布时间:2021-06-23 18:38:18 服务器开发

打印默认线程的优先级

我想写一个代码来打印默认线程的优先级,但我不知道这是否可行.到目前为止,我创建了一个具有默认属性的线程,但我没有找到任何允许我存储和打印其默认优先级的语句. //main.c#include #include #include #include #include “task.h"int main(){pthread_attr_t attr;struct sched_pa​​ram 优先级;pth ..
发布时间:2021-06-23 18:38:12 其他开发

Linux Pthread 库,线程参数

如果我在Linux下使用Pthread库创建线程,我需要使用函数pthread_create,作为它的参数之一void *,所以我可以传递一个指向某物的指针,所以我的线程例程可以访问它,但是做这样的事情是否安全 {//某些范围int a=5//作用域变量pthread_create(&id,NULL,some_function,(void*)a);}//作用域结束 在我的日常生活中: voi ..
发布时间:2021-06-23 18:38:06 服务器开发

C:pthread的性能,低于single thrad

我对我的代码的性能感到困惑,在处理单线程时它只使用 13 秒,但它会消耗 80 秒.我不知道向量是否一次只能被一个线程访问,如果是这样,我可能必须使用结构数组而不是向量来存储数据,有人可以帮忙吗? #include #include #include #include #include #include #include #include #include "SEQ.h"#defi ..
发布时间:2021-06-23 18:38:01 C/C++开发

使用 pthreads 在 C 中并发读取器和相互排除写入器

我希望有人可以转发我或向我展示一个程序,它有多个读者,但在 C 中相互排斥作者.我在整个互联网上搜索了它,但找不到一个使用粗粒度显示这种行为的示例锁定.我知道我可以使用 pthread_rwlock_init、pthread_rwlock_rdlock 等,我只是不知道如何使用它.我通过例子学习,这就是我在这里的原因. 假设我有一个代码区域(不是共享变量)并且我想要多次读取,但只有一个写入器 ..
发布时间:2021-06-23 18:37:58 其他开发

php多线程访问数组变量

如何使用 pthread 访问数组变量,我创建了一个线程类名称 "AccessVariable",其任务是创建 4 个线程并访问名为 "$arr",需要一些关于如何实现这一点的指针,因为我对这个编码很陌生 arg = $arg;}公共函数运行(){如果 ($this->arg) {$tmp_value = $this->getValue();printf('%s: %s %d -finish' ..
发布时间:2021-06-23 18:37:55 PHP

通过 Closure 的序列化使脚本失败

使用 PHP 线程时,我遇到过几次“序列化闭包"致命错误的问题.但是我不明白它是如何发生的:我不会将闭包或任何类型的可调用对象传递给另一个线程,有时当我在项目外提取代码并单独运行它时,它可以工作,但无法进入项目. 所以我试图通过闭包的序列化来使脚本失败,以了解它的实际工作原理. 此代码使用闭包并且实际有效: c = function() {返回“关闭";};}公共函数 go(){$c = ..
发布时间:2021-06-23 18:37:52 PHP

结构中的向量不会让我 push_back

嗨,我在结构中有一个向量,用于 pthreads 参数传递: struct thread_data{向量>list_databases;......};...一些更多的代码... 然后在稍后的函数中执行以下操作( mydata 是传递给函数的 thread_data )(条目是一对) mydata->list_databases.push_back(entry); 每当我这样做时,它都会告 ..
发布时间:2021-06-23 18:37:44 C/C++开发

关于 pthread_attr_t 定义的困惑

当我在 VS 代码中单击 go to definition 时,它会引导我: /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h 定义是: union pthread_attr_t{字符 __size[__SIZEOF_PTHREAD_ATTR_T];long int __align;};#ifndef __have_pthread_attr_ ..
发布时间:2021-06-23 18:37:41 服务器开发

信号处理程序中的 pthread_exit 导致分段错误

下面的程序为整个进程设置 SIG_ALRM 处理程序,创建一个线程,将 SIG_ALRM 信号发送到新创建的线程.在 SIG_ALRM 处理程序中调用 pthread_exit.结果 - 分段错误.如果你在发送信号前睡觉 - 好的. 看起来在 pthread_exit 时刻新线程还没有启动.我尝试使用 gdb 定位分段错误,但无法使用 gdb 重现崩溃. 导致分段错误的原因是什么? ..
发布时间:2021-06-23 18:37:38 服务器开发

pthread_mutex_lock 在 C 中返回 22

我正在学习如何在 C 中使用 Pthread.我尝试使用 pthread_mutex_lock.锁定成功时应该返回0.但我的程序总是返回 22 - 无效参数. 代码如下: pthread_mutex_lock 用于work_function #include #include #include #include #define N 2void *work_function(void ..
发布时间:2021-06-23 18:37:35 其他开发

关于共享库和线程特定数据的问题

此问题参考 makefile 中的 gdb 和 valgrind.我找到了上一个问题中指出的分段错误的原因,现在我不知道如何解决这个问题.很抱歉,我将无法发布代码,因为它分布在多个文件中,因此往往非常庞大. 查看 Makefile all:clients.so 模拟器备份LD_PRELOAD=/home/Juggler/client/clients.so ./simulator备份:bac ..
发布时间:2021-06-23 18:37:29 服务器开发

pthread 中函数的参数数量

在 pthread 的 hello world 示例中说明: #include #include void * print_hello(void *arg){printf("你好世界!\n");返回空;}int main(int argc, char **argv){pthread_t thr;if(pthread_create(&thr, NULL, &print_hello, NULL)){ ..
发布时间:2021-06-23 18:37:23 其他开发

线程内带有 malloc 的变量

我有一个关于 pthread 的问题,当我使用 malloc 在线程内创建一个变量,然后将其指针传递给共享结构,即 fifo,thread-1 传递的指针是否会被 thread2 访问? 请注意,我必须为上面的问题编写代码,我只是想更好地理解线程,下面就是我的想法.环境是pthread、c和linux 据我所知,线程正在共享其父进程的内存,如果是这种情况,以下应该是正确的. void ..
发布时间:2021-06-23 18:37:20 服务器开发

C++:在 Solaris Studio 中使用类中的静态函数从 main 创建 pthread 时出现警告(时代错误)

我一直面临这个警告. 我有一个创建多个线程的主 C++ 程序.这些线程运行特定类中的函数.为了做到这一点,这个类有一个静态函数,它返回我用来在这些线程中运行的真实函数.我将粘贴代码的相关部分,以便您更好地理解. 这些是 Car.h 的相关部分,其函数在线程中运行的类的头: [...]类汽车{上市:[...]无效 *前进(无效);//在线程中运行静态无效* GoForward_help ..
发布时间:2021-06-23 18:37:14 C/C++开发

带有 pthread 函数的静态存储

我正在练习一些多线程程序,但我无法弄清楚这个输出背后的逻辑. #include#include#includeint print_message(void* ptr);int main(){pthread_t thread1,thread2;char *mesg1 = "线程 1";char *mesg2 = "线程 2";int iret1, iret2;pthread_create(&thr ..
发布时间:2021-06-23 18:37:11 服务器开发