线程之间的信号处理

问题描述 投票:0回答:1

我是并发编程的新手,我解决了这个问题,我无法真正理解错误,考虑下面的伪代码,x是一个用0初始化的共享(条件)变量:

signal(c) wait(c) x = x + 1 signal(c)

x在单个处理器中运行2个线程(并发)的可能结果是什么?

multithreading concurrency signals pseudocode
1个回答
0
投票

在执行两个线程之后,一切都很好并且x = 2或两个“x = x + 1”线同时执行然后x = 1,因为两个线程同时读取x的初始值为0。

© www.soinside.com 2019 - 2024. All rights reserved.