semaphore

    253热度

    14回答

    信号量是一种常用于解决多线程问题的编程概念。我向社区提出的问题: 什么是信号灯,以及如何使用它?

    41热度

    4回答

    使用pthread_cond_wait或使用信号量有什么优点/缺点? 我等待这样的状态变化: pthread_mutex_lock(&cam->video_lock); while(cam->status == WAIT_DISPLAY) { pthread_cond_wait(&cam->video_cond, &cam->video_lock); } pthread_mutex

    0热度

    1回答

    是否有任何方法可以直接从命令提示符更改Unix系统上的信号量的所有权和权限掩码,而无需部署使用IPC_SET选项调用semctl的特殊程序?

    1热度

    2回答

    我在php脚本中使用以下代码片段来安全地更新共享资源。 $lock_id = sem_get(ftok('tmp/this.lock', 'r')); sem_acquire($lock_id) //do something sem_release($lock_id) 当我压力测试这个代码用大量的请求,我得到一个错误: Warning: semop() failed acquiring

    0热度

    1回答

    在VxWorks中,我使用SEM_INVERSION_SAFE选项创建互斥锁,以防止优先级反转问题。 该手册说我必须也使用SEM_PRIORITY_Q选项。这是为什么?

    0热度

    1回答

    我们有3个任务运行在不同的优先级上:A(120),B(110),C(100)。 A采用带有反转安全标志的互斥信号量。 任务B执行一次semTake,导致任务A的优先级提高到110. 稍后,任务C执行一次semTake。任务A的优先级为100. 此时,A释放信号量,C抓取它。 我们注意到A的优先级没有降低到原来的优先级120. 不应该立即恢复A的优先级?

    43热度

    5回答

    在Javascript中是否存在原子测试和设置,信号量或锁定这样的事情? 我有通过自定义协议的JavaScript调用异步后台进程(后台进程字面上运行在单独的进程,无关的浏览器)。我相信我正处于竞赛状态;后台进程在我的测试和我的设置之间返回,在JavaScript端搞砸了。我需要一个测试和设置操作来使它成为一个真正的信号量。 下面是试图检测后台进程并预约的JavaScript代码: Call =

    6热度

    3回答

    我有一个列表的包装,维护两个Tstringlists和TClassList 我需要这是线程安全的,这样的: 并发写入不允许(等待应该是进入某种状态) 读而写(反之亦然)是不允许的(等待某种状态应该是进入) 并发读取是允许 关于如何做到这一点的任何想法?我的直觉告诉我,它不仅需要一个关键部分,可能是一个信号量或“使用计数器”,可能是其中一个带有CS的联合。 我只是不太确定从哪里开始 - 从英语到伪代