pthreads

    6热度

    3回答

    我正在编写一个程序,带有主线程和一些工作线程,并且我希望获得信号处理权限。我的问题是这样的: 主线程启动并完成所有分配 主线程设置一个SIGINT信号处理器 主线程开始工作线程。工作线程不需要特殊的清理,但是它们可以在系统调用或信号量上休眠。 当收到SIGINT时,我的理解是只有一个线程接收到它。因此,如果线程在系统调用或信号量中休眠,它们不会被唤醒,我将无法使用pthread_join工作线程并

    5热度

    4回答

    是否有推荐的方法来等待多个输入。例如,我希望我的程序能够接收3个来源的输入: 听线程条件例如pthread_cond_wait() 从标准输入获取数据例如, getline() 在插座上聆听例如accept() 完成此操作的最佳方法是什么?我是否需要针对每个不同输入源的线程?谢谢

    2热度

    1回答

    我以前曾询问过如何在不使用pthread_join的情况下同步两个线程,并且我能够使用pthread_cond_wait和pthread_cond_signal来解析它。 我写了一个小结构捆绑这个功能集成到一个单一的地方: struct ConditionWait { int i_ConditionPredicate; pthread_mutex_t lock_Va

    4热度

    2回答

    gprof可以用来分析使用pthreads的多线程程序吗?也就是说,它的输出将包括所有线程中使用的时间吗?

    1热度

    2回答

    pthread_create返回值251而不创建线程。有谁知道问题是什么?请帮忙。该机器是HP-UX。 我是新来的多线程。 #include <stdio.h> #include <stdlib.h> #include <pthread.h> void *print_message_function(void *ptr); main() {

    4热度

    3回答

    我想做一个显示一些3d图形和命令行的opengl应用程序。我想让他们分开的线程,因为他们都是沉重的过程。我认为我可以用2个不同的视口来处理这个问题,但我想知道如何处理opengl中的线程。 根据我一直在阅读的内容,Opengl是异步的,并且从不同线程调用它的函数可能是非常有问题的。有没有办法可以用来解决这个问题?理想情况下,我想在3D图形的顶部绘制命令行,并带有一些透明效果......(这是我认为

    4热度

    2回答

    从pthread_key_create手册页并行线程dataspecific析: 可选的析构函数可以 可以与每个键相关联的值。在 线程退出,如果一个键值具有 非NULL的析构函数指针,并且 线程具有与该键关联 非NULL值,函数指出 被称为与当前相关 值作为其唯一的论据。 析构函数的调用次序为 未指定,如果 它退出时,线程存在多于一个的 析构函数。 如果,所有的析构函数都 已要求所有非NULL值

    2热度

    1回答

    我正在用C编写一个服务器程序,其中每次客户端连接时,都会创建一个新的pthread来处理客户端的请求。当所有线程退出时,然后我的程序退出,就好像调用了exit()一样。这是一个问题 - 我该如何克服它? 可以说服务器正在运行,并且有2个客户端连接。一旦这些客户端断开连接并因此两个线程退出,那么我的服务器进程就会退出。我想要的是让我的服务器保持accept()套接字请求。通常情况下,当我使用fork

    4热度

    1回答

    c程序编译器gcc 我有3个文件。 main.c stop_watch.h和stop_watch.c 该程序可以工作。我打电话给start_stopwatch。它将在时间到期后在main.c timeout_cb()中回调。我也在一个单独的线程中运行它,因为我不想在main中阻塞,因为我需要运行其他代码。 1)g_start_timer中的秒数总是给出垃圾。我想我可能通过在堆上创建结构来解决这个问

    0热度

    1回答

    我得到了一个评估,使用ncurses为Linux编写一个简单的聊天客户端。该聊天有两个窗口:一个显示另一个客户说什么,另一个处理用户输入。 这里让我困惑的是如何处理不断来自套接字的数据,并同时等待用户的输入。我唯一想到的解决方案就是使用pthread,但我有一种感觉,我错过了一些更合适的东西。 有什么建议吗?