Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 垃圾收集器需要原子还是锁定?_C++_Garbage Collection_Locking_Atomic - Fatal编程技术网

C++ 垃圾收集器需要原子还是锁定?

C++ 垃圾收集器需要原子还是锁定?,c++,garbage-collection,locking,atomic,C++,Garbage Collection,Locking,Atomic,我正在研究垃圾收集器,它似乎有一个可以处理多个线程的并发垃圾收集器,您需要一个锁或原子引用来限制垃圾收集器在另一个线程写入内存的同时更改某些内容。垃圾收集器使用锁/原子还是我遗漏了什么?我已经找到了“写障碍”的参考文献,但我似乎找不到任何关于这方面的指示 我把CAS循环算作锁定 谢谢 您知道任何编程语言/执行环境,其中引用分配不是原子的吗?它们知道,而且确实是在“写屏障”内完成的。我试图解释这一点(主要是对我自己)这是如何发生在Shenandoah和。这些并发的GCS工作非常有趣,虽然读代码非常

我正在研究垃圾收集器,它似乎有一个可以处理多个线程的并发垃圾收集器,您需要一个锁或原子引用来限制垃圾收集器在另一个线程写入内存的同时更改某些内容。垃圾收集器使用锁/原子还是我遗漏了什么?我已经找到了“写障碍”的参考文献,但我似乎找不到任何关于这方面的指示

我把CAS循环算作锁定


谢谢

您知道任何编程语言/执行环境,其中引用分配不是原子的吗?它们知道,而且确实是在“写屏障”内完成的。我试图解释这一点(主要是对我自己)这是如何发生在
Shenandoah
和。这些并发的GCS工作非常有趣,虽然读代码非常复杂。@霍格尔C++不需要实际原子用于大多数的参考任务。所谓原子,我的意思是操作必须是线程同步的值,就像在C++的原子库中找到的那样。感谢UEGEN,当carefullyIt问到垃圾收集问题时,将阅读C++误导性的用法,因为C++没有垃圾收集。在这个问题中没有任何东西可以提示C++。支持并行性的环境中的垃圾收集是一个大的研究课题。看看这些文件: