pthreads

    2热度

    2回答

    我有一些困惑与POSIX线程,我想知道如果我的P线程的理解是正确的, 根据我的原生层,这有助于在处理多线程的上一层。 它提供了一种通用的语法,可以帮助从一个操作系统移植到另一个操作系统。它在内部处理各种操作系统特定的结构。 请让我知道,如果我错了,并添加我错过的积分。

    2热度

    3回答

    得到假设我有3个POSIX线程一个C程序,共享的全局变量,互斥锁,和条件变量,其中两个是执行以下伪码: ...process data... pthread_mutex_lock(&mutex); variable = data_ptr; pthread_cond_signal(&cond); pthread_mutex_unlock(&mutex); 而第三个运行: while(1)

    3热度

    3回答

    从pthreads开始,我无法理解pthread_key_t和pthread_once_t的业务是什么? 有人会用简单的术语解释例子吗? 感谢

    22热度

    5回答

    我有一些使用Linux上的PThreads的线程代码,我怀疑是遭受了过度的锁争用。我有什么工具可以衡量这一点? Solaris有DTrace和plockstat。 Linux上有类似的东西吗? (我知道最近用于Linux的DTrace端口,但它似乎还没有准备好黄金时间。)

    5热度

    2回答

    我正在开发我的操作系统项目的POSIX子系统,并且我已经达到了想要在pthreads支持上工作的地步。但是,我不确定我应该在多大程度上实施它们。 什么是最常用的pthreads功能?有什么我可以安全地“暂时搁置”,并在我们移植需要它的应用程序时执行它?到目前为止,我的研究都指向了基本的线程操作(创建,连接等) - 这非常明显 - 并且支持互斥体。实际上,应用程序的用途远不止于此? 我想我只是想弄清

    8热度

    3回答

    一个问题... 的C++ 0x语法 #include <thread> void dummy() {} int main(int, char*[]) { std::thread x(dummy); std::thread y(dummy); ... return 0; } 多少个线程那里?两个(x和y)或三个(x,y和主)?我可以拨打this_

    68热度

    3回答

    我总是感到困惑。有人会解释什么Reentrant意味着在不同的情况下?你为什么要使用可重入和不可重入? 说pthread(posix)锁定原语,它们是否可重入?使用它们时应该避免哪些陷阱? 互斥体是否可重入?

    1热度

    4回答

    我有2个问题,以实现在* nix系统上的异步定时器: Q1)我可以实现在单线程应用程序即我想这样的功能的异步定时器。 .... Timer mytimer(5,timeOutHandler) .... //this thread is doing some other task ... and after 5 seconds, the timeOutHandler function

    24热度

    2回答

    为pthread_create函数头看起来是这样的: int pthread_create(pthread_t * thread, const pthread_attr_t * attr, void * (*start_routine)(void *), void *arg); 我明白这一切只是为start_routine函数指针的形式为v

    65热度

    5回答

    我需要将多个参数传递给我想要在单独的线程上调用的函数。我有read这样做的典型方法是定义一个结构,传递函数的指针,并取消引用它的参数。但是,我无法得到这个工作: #include <stdio.h> #include <pthread.h> struct arg_struct { int arg1; int arg2; }; void *print_the_argu