pthreads

    8热度

    1回答

    随着pthread_cond_t的,我们有一个互斥体相关联,当信号的情况我见过这样的代码 pthread_mutex_lock(&mutex); //code that makes condition true pthread_cond_broadcast(&cond); pthread_mutex_unlock(&mutex); 和 pthread_mutex_lock(&mute

    1热度

    3回答

    有没有办法让系统中的处理单元(如cpus或核心)的nr?我将用pthreads写一个应用程序,所以如果有一个很好的posix调用。我知道从/ proc/cpuinfo读取,但这不是很便携。还有另一种更便携的方式吗?

    44热度

    2回答

    我正在学习pthread和等待条件。至于我可以告诉一个典型的等待线程是这样的: pthread_mutex_lock(&m); while(!condition) pthread_cond_wait(&cond, &m); // Thread stuff here pthread_mutex_unlock(&m); 我不能理解的是,为什么线while(!condition)非常

    1热度

    2回答

    我正在尝试编译我在C++中编写的使用pthreads的任务的程序。我在Linux中使用Eclipse,并且在编译器参数(g ++,gcc和linker)中添加了“-lpthread”后,我没有编译任何问题。然而,当我即将运行和调试时,Eclipse给了我一个错误消息窗口“启动失败。未找到二进制文件”。 我试图用gcc和g ++手动编译它,后缀为-pthread和-lpthread,结果类似 - “

    4热度

    2回答

    我得到一个分段错误,当我尝试做 pthread_mutex_lock(&_mutex). 这是非常奇怪的,我不知道什么可能导致它。我已经在构造函数中初始化_mutex与 pthread_mutex_init(&_mutex,NULL). 什么我可以做?

    2热度

    2回答

    一个我有一个派生两个线程,然后在下面的Windows代码等待,直到他们都完成了: hThreads[0] = _beginthread(&do_a, 0, p_args_a); hThreads[1] = _beginthread(&do_b, 0, p_args_b); WaitForMultipleObjects(2, hThreads, TRUE, INFINITE); 我现在移植相

    0热度

    3回答

    我将C++源代码与C源代码和C++源代码链接起来。我使用pthread(一个取消点)创建一个线程,然后通过C或C++源文件调用pthread_exit。 如果pthread_exit调用来自C源,取消处理程序不会触发!这可能是什么原因? b.cc: #include <cstdio> #include <cstdlib> #include <stdbool.h> #include <pthr

    0热度

    1回答

    我有几个修改线程和一些阅读线程,所有访问全局变量X我想让我的同步策略是这样的: 当一个线程试图修改X ,它将首先需要一个锁,并且多个修改线程可能需要多个锁。 当一个线程尝试读取X时,它必须等到所有修改线程放下它们的锁。 在linux pthread库中有这种情况吗?非常感谢

    27热度

    8回答

    对我来说最难的事情之一是我第一次使用C中的pthreads进行强烈的编程。我习惯了解要运行的下一行代码是什么,我的调试技术以这种期望为中心。 什么是用C语言中的pthreads进行调试的一些好技术?您可以在没有任何附加工具,您使用的工具或其他任何可帮助您调试的情况下建议个人方法。 P.S.我在linux中使用gcc进行C编程,但不要让它一定限制你的答案

    6热度

    6回答

    调用pthread_cond_timedwait时是否有任何缺点,而没有首先锁定关联的互斥锁,并且在调用pthread_cond_signal时没有执行互斥锁? 在我来说真的是有没有条件来检查,我想非常类似于Java等待(长)行为和notify()。 根据该文件,可以有“不可预测的调度行为”。我不确定这意味着什么。 一个例子程序似乎没有先锁定互斥体做工精细。