首页 > TAG信息列表 > condition-variable

python中是否有替代threading.Condition变量的更好支持超时而不轮询的变量?

我在需要超时的线程中使用条件变量.我直到运行大量线程时才看到CPU使用率才注意到,线程模块中提供的条件变量实际上并未休眠,但会在提供超时作为参数时进行轮询. 有没有其他替代方法可以像pthreads一样实际休眠? 似乎让很多线程每隔几秒钟就休眠一次,却让它仍然消耗CPU时间,这似乎很

c – 窗口中的CONDITION_VARIABLE;不会编译

我正在尝试为C语言编写一个为Linux编写的程序的Windows版本.为了使程序成为线程安全的,我在Linux版本中使用pthread_cond_t和pthread_cond_wait.这些函数使用互斥锁来帮助确保等待的线程实际上正在等待. 我发现CONDITION_VARIABLE可以在Windows中做到这一点,但我无法弄清楚为什么它

c – 为什么std :: condition_variable作为类成员导致std :: thread的编译错误?

我尝试将std :: condition_variable作为类成员包含在内,并且在将此类的对象传递给std :: thread时会遇到很多编译错误.我从我的实际程序中删除了所有其他代码,最后得到了以下最小代码.删除std :: condition_variable不会导致任何问题.我尝试在构造函数中“初始化”变量,并使其内联,

c – 如何在等待std :: condition_variable时处理系统时钟更改?

我正在尝试在C 11中实现一些跨平台代码.此代码的一部分使用std::condition_variable实现信号量对象.当我需要在信号量上进行定时等待时,我使用wait_until或wait_for. 我遇到的问题是,基于POSIX的系统上的condition_variable的标准实现似乎依赖于on the system clock, rather than t

c – 了解std :: condition_variables

当我有多个线程等待执行时,我正在尝试理解condition_variable的流程.根据我的理解,所有线程都会尝试获取唯一的锁,一个会得到它然后进入wait(),如果你调用notify_all,最多不会有一个线程等待允许通过.直到它释放它的锁并允许其他线程通过. cv是否与唯一锁通信并让所有线程同时通过

c – 为什么condition_variable不是MoveAssignable

为什么condition_variable不是MoveConstructible(根据http://en.cppreference.com/w/cpp/thread/condition_variable)?这禁止包含许多容器(例如std :: unordered_map)来移动东西. 这迫使人们使用unique_ptr,这会产生一个额外的堆分配,像make_shared这样的东西是为了解决而构建的.此

可以使用C 11 condition_variables来同步进程吗?

我正在尝试了解C 11的std :: condition_variable.我在cppreference.com和cplusplus.com以及C++0x has no semaphores? How to synchronize threads?阅读了这些文章. 我认为这三篇文章没有回答我的问题是:用“std :: mutex”和“std :: condition_variable”(参见C++0x has no semaph

如何在循环(C)中等待2种类型的事件?

我试图在waitpid()和read()中等待一个真正的循环.具体来说,我正在等待这两个事件中的任何一个,然后在循环的每次迭代中处理它.目前,我有以下实现(这不是我想要的). while (true) { pid_t pid = waitpid(...); process_waitpid_event(...); ssize_t sz = read(socket, ....)