mutex

    0热度

    1回答

    我有2个进程。第一个将一些数据发送给另一个,同步每一步。 实际发送的数据如下: Process : A sends 1 Process : B receives 1 Process : A sends 2 Process : B receives 2 的问题是,当我运行它从一开始发送的所有数据的过程中A和我看到的是这样的: Process : A sends 1 Process : A

    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

    0热度

    1回答

    我有一个项目,我正在将作业添加到队列中,并且我有多个线程正在进行作业,并计算出自己的独立结果。 我的程序处理SIGINT信号,我试图加入线程来合并结果,打印到屏幕,然后退出。我的问题是,当我发送信号时线程似乎停止工作,或者他们在mutex_lock上被阻塞。这里是我的程序的重要部分,以便简洁。 的main.c //the thread pool has a queue of jobs inside

    0热度

    2回答

    我有一个制片人试图/消费者 生产者 #pragma once #ifndef PRODUCER_H #define PRODUCER_H #include <thread> #include "Mailbox.h" class Producer { private: std::thread producer; Mailbox& mailbox; public

    0热度

    3回答

    考虑下面的简单代码: using ms = std::chrono::milliseconds; int val = 0; for(;;) { std::cout << val++ << ' '; std::this_thread::sleep_for(ms(200)); } 我们看到,我们无限打印随后的数字每次0.2秒。 现在,我想使用助手类和多线程实现相同的逻辑

    0热度

    1回答

    我一直关注此solution。当我运行race race时,没有发现竞态状况。但是,当我与我的代码运行的比赛detecter它提供了以下错误: ================== WARNING: DATA RACE Read at 0x00c42006c1e0 by goroutine 6: main.Crawl.func1() /task2.go:50 +0x53 Previous writ

    1热度

    2回答

    我目前正在研究互斥锁如何工作。我觉得我有一种抓地力。我的假设是否正确?这里我们有两个进程Pi和Pj,它们想要执行他们的关键部分,并且试图解释互斥锁如何工作以防止竞争状况的发生。 裨尝试获取与获取锁()。在开始时,没有进程正在执行其关键部分,因此可用将是真实的。在acquire的while循环中,条件将为false,并且不会“忙等待”,并且可用将设置为false。可用设置为false的原因是为了防止

    0热度

    1回答

    我认为这是一个有趣的问题。我想从服务器读取数据,以便我可以使用matplotlib实时绘制数据。目前我的测试,将通过使用random模拟读入的值,我发现,我得到这个错误: File "/usr/lib/python2.7/dist-packages/matplotlib/lines.py", line 632, in recache raise RuntimeError('xdata a

    2热度

    2回答

    互斥锁是否按照它们被调用的顺序赋予了这些线程?所以说我们有三个线程A,B和C以及一个互斥锁mtx。如果A首先调用mtx.lock(),然后B和C,那么这是否意味着A首先获得锁,然后是B,然后是C.如果不是,我怎么能保证它?

    0热度

    1回答

    我得到了一个大学任务来实现无需等待的互斥锁。我试图实施它,但没有取得太大的成功。有时,它会引发分段溢出,但是当它在gdb中运行时,它会一直运行得很完美。 mutex.c #define _GNU_SOURCE #include <stdio.h> #include <pthread.h> #include <unistd.h> #include <signal.h> #include