pthreads

    0热度

    1回答

    当我运行下面的代码时,单个线程似乎按顺序执行,一次执行。我期待他们能够平行运行。我的代码有什么问题,或者我应该开始看看我的环境?我在Windows机器上运行Apache,PHP 7。 <?php class Searcher extends Worker { public $data = []; public function addData($data) {

    0热度

    1回答

    我期望获得100,000个请求,其中至少有100个请求是并发的。每当我收到请求时,我都会创建一个新线程,并在使用pthread_exit()完成后将其销毁。使用pthread_detach我获得99%的成功率。有没有比这更好的方法? pthread_t hilo; // infinite loop while ((client_sock = accept(server_sock, (struc

    0热度

    1回答

    我知道pthread_self()和syscall(SYS_gettid)之间的difference。 pthread_create()产生一个POSIX线程ID,它由一个struct pthread_t表示,它通常被定义为一个unsigned long int。我们可以使用pthread_self来获得pthread_create生成的ID of the thread。 随着strace,我知道

    1热度

    1回答

    这应该在循环(服务器)中工作,并将工作/查询委托给由longrun()函数调用表示的错误库到超时tmax = 3s的线程。我放置了同步变量,我试图等待不超过这个限制,但是当longrun()挂起(运行4)时,它仍然等待全部时间(7s)而不是所请求的限制。谁能解释一下? #include <unistd.h> #include <errno.h> #include <stdio.h> #inc

    0热度

    1回答

    这似乎是一个简单的任务,但它不起作用。我的线程函数运行在一个循环中,并始终将数据写入数组。但有时我想从我的主要功能中读取这些数据。因此,阅读功能应理想地暂停线程,读取数据,然后恢复线程。但是,读取的值不正确,似乎已损坏。也许有些不妥: 线程FCT: void threadfct() { while (1) { pthread_mutex_lock(&mutex);

    1热度

    1回答

    的想法是有其启动多个工作线程一个主线程。除了发送信号之外,没有明确的方式退出程序。但是程序也应该在任何地方发生错误时干净地退出。 我试图表明我有什么至今。标题没有显示,但没有它们应该清楚。我们有一个主函数main.c,其中main函数开始于worker.c,它具有线程管理和object.c的抽象,一个工作线程的特定实现。将会有多种不同的实现,但都具有相同的结构(即,具有while(running)

    2热度

    1回答

    我只是想了解g ++使用的一个概念。在这里我很简单的std ::跟帖报名: #include <iostream> #include <thread> void func() { std::cout << "Running..." << std::endl; } int main() { std::thread t(func); t.join();

    0热度

    1回答

    我正在使用pthreads库来尝试使用显示器实现读写器应用程序。 我打电话给我的线程函数的主要方式如下 pthread_t *tid; tid = (pthread_t*)malloc(sizeof(pthread_t)*(r + w)); int addr = 0; //Create r # readers for (int a = 0; a < r; a++) { pthr

    0热度

    2回答

    我想在调用所有C++ thread_local析构函数之后做一些工作。 这是平台特定的 - Android,所以我有权访问pthreads。 问题是,当应该调用dd析构函数时,在C++ thread_local析构函数之前或之后?或者他们可以交错? 我测试了在C++之后调用的Linux Mint和pthread析构函数。

    0热度

    1回答

    我有一个项目,我正在将作业添加到队列中,并且我有多个线程正在进行作业,并计算出自己的独立结果。 我的程序处理SIGINT信号,我试图加入线程来合并结果,打印到屏幕,然后退出。我的问题是,当我发送信号时线程似乎停止工作,或者他们在mutex_lock上被阻塞。这里是我的程序的重要部分,以便简洁。 的main.c //the thread pool has a queue of jobs inside