并发(concurrency)指的是多个执行单元同时、并行被执行,而并发的执行单元对共享资源(硬件资
源和软件上的全局变量、静态变量等)的访问则很容易导致竞态(race conditions)。例如,对于 globalmem
设备,假设一个执行单元 A 对其写入 3000 个字符“a”,而另一个执行单元 B 对其写入 4000 个字符“b”,
第三个执行单元 C 读取 globalmem 的所有字符。如果执行单元 A、B 的写操作如图 7.1 所示的顺序执行,
执行单元 C 的读操作不会有问题。但是,如果执行单元 A、B 如图 7.2 所示的顺序执行,而执行单元 C 又
“不合时宜”地读,则会读出 3000 个“b”。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !