semaphore

    -6热度

    1回答

    灯光开关信号的正确替代形式应该如何在非面向对象的C语言中看起来像? lightswitch信号灯的Python参考文件写在这份文件Little Book Of Semaphores中。 的LightSwitch代码: class Lightswitch : def __init__(self): self.counter = 0 self.mutex = Semap

    0热度

    2回答

    我的疑问涉及同步使用相同方法的不同类的线程的方式。我有两个不同的类,ClientA和ClientB(显然扩展了Thread)和一个Server类的方法。这两个ClassA和ClassB线程必须使用此方法,但也有对接入不同的策略: 如果ClassA线程使用方法内部的资源,同一类的其他线程可以用它; 如果线程ClassB正在使用该方法,则没有人(线程为ClassA和ClassB)可以使用它(互斥)。

    0热度

    1回答

    我有一个方法,接受一个值,如果满足条件的行动不应该运行24小时。但是当它停止时,我想运行其他不符合该条件的线程。 在这个例子中,我有30个线程在程序的开头。一旦我制作了5块芝士,我就需要停下来,因为那里的芝士太多了。最棒的是,如果有一个地方可以发送线程,那么在时间耗尽而其他人正在运行时,线程将无法启动。即使使用Wait,Task.Delay在这里似乎也不会有效。 这里是我的代码示例: //Stop

    1热度

    1回答

    在按下JButton后,我的程序的UI会冻结一段时间。我发现这是一个信号量堵塞Swing线程的原因。这是一个包含信号量的acquire()调用的方法: private void fetch(int numThreads) { //some code here sem = new Semaphore(numThreads); for (int i = 0; i < mo

    0热度

    1回答

    尝试在GCDAsyncSocket队列上创建信号量并获取nil,而不是......我在这里丢失了什么? dispatch_semaphore_t s = dispatch_semaphore_create(0); // s == nil here !?! dispatch_async(dispatch_get_global_queue(DISPATCH_

    0热度

    1回答

    我正在解决有关线程的分配问题。 这是关于排序随机小写字符。 当它排序良好时,我打印出O标记和否,使用2个线程打印出X. 。 我需要使用信号量编写代码,但我不知道如何以及在哪里编写sempahore。 所以一旦我没有信号写代码。 我现在应该添加Sempahore。但我不知道要修复哪个部分。 你能帮我吗? 我是否必须为信号灯制作更多功能? 这是我在C.

    0热度

    1回答

    我有一个队列,在不同的中断发生时调用队列的put和pull函数。有没有办法在这种情况下防止竞争状况? 虽然我们不能等待中断服务例程中的信号量,但创建类似功能的最佳方式是什么。 我们使用Zynq FPGA的ARM-Cortex A5处理器来开发代码。

    2热度

    1回答

    我正在构建一个Jenkins作业,它将一直运行我所有的分段测试,但不是一次全部(它们都依赖于共享硬件)。所以,我创建了并行作业,并使用信号量来确保只有有限的数量一次运行。 这里是我的管道再现问题的简化版本: import java.util.concurrent.Semaphore def run(job) { return { this.limiter.acquire()

    0热度

    2回答

    你好,我在我的代码中的下一个问题:从投大小不同的整数指针 ” -wint到指针-cast” 这个问题在这行代码 pthread_create(&filos[i], NULL, (void *)filosofos,(void *) i); 具体地,在(无效*)1 #include <pthread.h> #include <semaphore.h> #include <stdio.h>

    4热度

    2回答

    我试图找出是什么SemaphoreSlim使用等待和WaitAsync之间的差异,在这种情况下的使用: private SemaphoreSlim semaphore = new SemaphoreSlim(1); public async Task<string> Get() { // What's the difference between using Wait and Wai