condition-variable

    2热度

    2回答

    我有一个在Ubuntu上使用git://github.com/raspberrypi/tools.git工具在RaspberryPi(3)上交叉编译的项目。我想与condition_variable一起使用线程同步,但wait_for似乎不会释放提供给它的mutex上的锁定,如文档中所述。下面是转载了树莓派的问题简化代码(有过多的日志记录,以更好地可视化的问题): int main(int arg

    0热度

    1回答

    我需要一些帮助来实现并发C++编程。 我有名字的文件,命名为"names.txt",格式如下: 0 James 1 Sara 2 Isaac 而且我有一个名为"op.txt"另一个文件,该文件载有关于地名的一些操作的文件,格式如下: 0 1 + // this means add Sara to James and store it in 0 position 1 2 $ // this

    1热度

    4回答

    通常如果我想模拟一些工作或等待确切的时间间隔,我使用condition_variable::wait_for或最差的thread::this_thread::sleep_for。但是condition_variabledocumentation指出wait_for或wait_until方法可能会阻止比请求更长的时间。 该功能可能会阻塞更长比timeout_duration由于调度或者资源争用延迟。

    0热度

    1回答

    我在使用非常基本的Windows编程时遇到了麻烦,实现了一个简单的生产者/消费者系统。 我的结构: typedef struct FILE_BUFFER { //Circular buffer of max size BUF_SIZE INT count; //buffer size LPTSTR buf[BUF_SIZE]; //actual buffer of file

    0热度

    2回答

    我试图使用C++11的std::condition_variable来处理UI线程&工作者线程之间的数据事务。 情况: m_calculated_value是其中复杂的逻辑后算出的值。这是UI线程触发事件所必需的。 UI线程调用MyClass::GetCalculatedValue来获取m_calculated_value的值,该值需要由工作程序线程函数MyClass::ThreadFunctio

    1热度

    1回答

    所以我有这个while循环,做了一些工作,多线程,我想,只要所有线程正在它的工作,是这样的: while(*threads are working*) { pthread_mutex_lock if(stack is not empty) { pthread_cond_broadcast *critical work* pthread_mutex_unlock

    1热度

    1回答

    我目前正在学习条件变量,我开始明白了。但是从here代码: void print_id (int id) { std::unique_lock<std::mutex> lck(mtx); while (!ready) cv.wait(lck); // ... std::cout << "thread " << id << '\n'; } void go

    2热度

    1回答

    如何在C#的system.threading.monitor类中实现Monitor.Wait()方法? https://www.codeproject.com/Articles/28785/Thread-synchronization-Wait-and-Pulse-demystified 概念,我构想是这样的: class Monitor { public static Wait(ob

    -1热度

    1回答

    虽然在工作线程中使用一个简单的互斥锁和条件变量,但我的程序会收到一些罕见且零星的线程匮乏错误,但我想阻止它。 以下是我正在做的一个简单的例子。有4个工作线程调用“Producer”和一个调用prod.getTasks()的主线程。 此代码是“无死锁”,但由于错误,显然不是“无饥饿”。 当我拿到检测线程饥饿或时钟飞跃(管家三角洲=1m18s317ms137μs765ns)错误是: A)由于生产者线程

    2热度

    1回答

    对这个问题的回答是错误的,因为它有机会发生死锁。 Condition Variable - Wait/Notify Race Condition 我没有找到解决竞态条件或死锁问题的解决方案。 想象一下,我们有两个线程。现在的目标如下。 first condition: Thread 1 Waits Thread 2 Notifies second condition: Thread 2