pthreads相关内容

在 std::thread 创建的线程中调用 pthread_sigmask 是一个好习惯吗?

1) 我是 std::thread 的新手,我想知道调用 pthread_sigmask() 以阻止特定 中的某些信号是否是一个好习惯strong> 由 std::thread 创建的线程. 我不希望新线程接收SIGTERM、SIGHUP等信号,因为主进程已经为这些信号安装了处理程序. 那么,调用 pthread_sigmask() 来阻塞由 std::thread 创建的线程中的一些 ..
发布时间:2021-06-23 18:35:59 C/C++开发

如何使用 ZTS 编译 PHP 7.1

我在github PThread项目页面上看到支持php7+. 我在 ubuntu 发行版 (16.04) 上安装了 php7.1.6 我找不到任何提供 php7.1-zts 的 PPA. 如何在php7.1上启用zts来安装pthreads? 解决方案 This is my setup script #!/bin/bashmkdir -p/etc/php7mkdir ..
发布时间:2021-06-23 18:35:56 PHP

多个线程可以同时等待一个信号量

多个线程可以等待一个信号量吗?如果是,在信号量下降时将恢复哪一个? 解决方案 多个线程可以等待一个信号量吗? 是的. 如果是,在信号量下降时将恢复哪一个? 正是其中之一.哪一个取决于操作系统内核实现:用于保存等待线程的容器类型.这很可能是一个 FIFO 队列,因此第一个调用 semaphore.wait() 的线程将首先被释放,但您不应该以依赖此行为的任何方式设计您的应用. ..
发布时间:2021-06-23 18:35:53 其他开发

线程队列系统

我正在处理有关 pthread 的作业.我是新手,以前从未接触过 pthread.你们中是否有任何示例代码或资源可以帮助我完成我的任务? 这是我的任务详情.一个关于队列系统的pthread程序: 为牙科诊所的排队系统编写一个 C/C++ Pthread 程序,该程序声明一个大小为 N 的整数数组,其中 N 是当天的最大队列数.这pthread 程序使用两个线程. 每当有新的牙科预 ..
发布时间:2021-06-23 18:35:51 C/C++开发

pthread调度方法?

在没有明确调度的情况下,pthread 被调度为由内核以随机方式运行. pthread 库中是否有针对优先级等相同的调度方法? 解决方案 线程的优先级被指定为一个增量,它被添加到进程的优先级中.更改进程的优先级会影响该进程内所有线程的优先级.线程的默认优先级是 DEFAULT_PRIO_NP,与进程优先级没有变化. 这些 Pthread API 仅支持 SCHED_OTHER ..
发布时间:2021-06-23 18:35:48 服务器开发

将 pthread 作为输入并将其挂起的函数

我正在尝试从 POSIX 中的 ExpressLogic 移植实时 Thread_Metric,以便为我的论文对 Linux、Xenomai 和 RTAI 的 PREEMPT_RT 补丁进行基准测试.它们提供了一个包含以下函数的 C 源文件,您必须实现这些函数才能使基准测试正常工作: void tm_initialize(void (*test_initialization_function)( ..
发布时间:2021-06-23 18:35:42 其他开发

在 Windows 中安装 pThreads

谁能指导我在 Windows 中安装 pThreads . 实际上我想在 PHP 中启用线程. require_once( 'Thread.php' );//测试线程是否可用如果(!线程::可用()){die('不支持线程');}//函数在不同的线程上运行函数并行($_limit,$_name){for ( $index = 0; $index ..
发布时间:2021-06-23 18:35:39 PHP

c - pthreads 中的全局变量

假设我在文件function.c中定义了一个函数,在main.c中创建了多个pthread来执行function.c中的函数 如果在function.c中,我定义了一个全局变量,例如int foo; 那么,我的问题是,是每个线程都有自己的这个变量“foo"的实例还是共享一个“foo"? 解决方案 它们共享一个 foo 变量.全局变量总是每个进程只存在一次,并且通常由互斥锁保护以 ..
发布时间:2021-06-23 18:35:36 其他开发

pthread_create 快速示例

由于我需要将应用程序从 C 移植到 Swift,我想知道是否有任何关于在 Swift 上使用 pthread_create 和 pthread_join 的示例.我知道通常我们必须使用 NSThreads 或 GCD,但在这种情况下,我需要使应用程序代码尽可能接近 C 应用程序.任何人都可以在这里举个例子吗?顺便说一下,要调用的函数是 Swift 函数,而不是 C 函数 解决方案 也遇到了 ..
发布时间:2021-06-23 18:35:30 移动开发

将堆栈变量传递给 pthread_cleanup_push

我有一个使用文件描述符的线程,并且在取消时必须close() 文件描述符.伪代码如下: static void thread_cleanup(void *args){int *fd = (int *)args;关闭(* fd);}无效*线程(无效*arg){int fd = open(...);...pthread_cleanup_push(thread_cleanup, &fd);....} ..
发布时间:2021-06-23 18:35:28 其他开发

C pthread同步函数

pthread 库中是否有同步线程的函数?不是互斥体,不是信号量,只是一个调用函数.它应该锁定进入该点的线程,直到所有线程都达到该功能.例如: function thread_worker(){//用功同步线程();printf("所有线程同步\n");} 所以只有当所有线程结束努力工作时才调用 printf. 解决方案 正确的做法是使用 障碍.pthread 支持使用 pthread ..
发布时间:2021-06-23 18:35:18 其他开发

在 Ubuntu 服务器上安装 PHP pthreads 的问题

我正在尝试在运行 PHP 版本 5.5.8-3+sury.org~precise+2 的 Ubuntu 12.04 服务器上安装 pthread.据我所知,这只是通过 apt-get 进行的标准安装. 然后我尝试运行 sudo pecl install pthreads 这会产生以下错误:正在检查 ZTS... 配置:错误:pthreads 需要 ZTS,请在启用 ZTS 的情况下重新编 ..
发布时间:2021-06-23 18:35:15 PHP

QT:如何一次打开多个窗口(QWidgets)?

我正在做 Web 界面测试程序,它应该同时在两个 webkit 窗口中打开两个 url. 我已经为测试自动化编写了代码. 1) 用户按下“Go"按钮,webkit (QWidget) 窗口打开 2) TestBot 类对象执行测试 3) 关闭 现在我的问题:单击“开始"按钮后,我如何打开两个(或三个或更多)webkit (QWidget) 窗口,我的意思是,我如何同时 ..
发布时间:2021-06-23 18:35:09 C/C++开发

POSIX 线程和 SIGSEGV

我有一个包含 10 多个线程的系统.我有一个信号处理程序来捕获 SIGSEGV.如果一个线程生成 SIGSEGV,那么该信号会发送到所有线程,还是只发送到生成该信号的线程? 解决方案 SIGSEGV 是一个同步信号.它将被传递给导致无效内存访问的线程.来自 signal(7): 可能会为整个进程(例如,当使用 kill(2) 发送时)或针对特定线程(例如,某些信号,例如作为 SIGS ..
发布时间:2021-06-23 18:35:06 其他开发

以特定时间间隔执行函数

任务是每 x(比如 x=10)秒执行一个函数(比如 Processfunction()). 使用下面的代码,我可以每 x 秒调用一次 Processfunction(). 问题:函数执行时间超过10秒的情况如何处理? 一种方法是使用一个标志来指示 Processfunction() 执行的结束并在调用 Processfunction() 之前检查它.有一个更好的方法吗 ? #i ..
发布时间:2021-06-23 18:35:03 其他开发

如何知道 pthread 是否已死

如何知道 pthread 是否已死? 有没有办法检查pthreads的状态? 解决方案 if(pthread_kill(the_thread, 0) == 0){/* 仍在运行 */} 参见:pthread_kill 注意:使用 pthread_kill() 测试是否存在固有风险线程仍在运行.请参阅此帖子以获取解释:如何确定pthread是否存活? ..
发布时间:2021-06-23 18:35:00 其他开发

我是否过度设计了每线程信号阻塞?

在我的应用程序中,我通常希望拦截 SIGINT 和 SIGTERM 信号以便正常关闭. 为了防止工作线程“窃取"信号,我在每个入口点这样做: //在该线程中阻塞信号sigset_t 信号集;sigaddset(&signal_set, SIGINT);sigaddset(&signal_set, SIGTERM);sigaddset(&signal_set, SIGHUP);sigadds ..
发布时间:2021-06-23 18:34:57 C/C++开发

pthread_create() 如何工作?

鉴于以下内容: pthread_t 线程;pthread_create(&thread, NULL, 函数, NULL); pthread_create 到底对 thread 做了什么? thread 加入主线程并终止后会发生什么? 如果在 thread 加入后,你这样做会发生什么: pthread_create(&thread, NULL, another_function, ..
发布时间:2021-06-23 18:34:55 C/C++开发