Conversation
|
Добрый день! Хотелось бы получить Code Review контейнера. |
Это похвально, но самых главных тестов - многопоточных (stress) - я не вижу. Unit - это однопоточные тесты проверки интерфейса, их смысл в том, чтобы вызвать все public-методы контейнера с различными параметрами. Если коротко - их смысл в том, что все компилируется и работает как надо.
Хотели - получайте ;-) - HP guard не должен быть data member. Он всегда должен объявляться локально в функции. Почему?.. На этот вопрос вы должны ответить сами ;-)
Так в этом и заключается соль работы, по сути. Min необходимое число HP - это свойство алгоритма контейнера. Сколько вам одновременно нужно защищать указателей в одной функции - столько и нужно HP. Так что это ВЫ должны сказать |
|
Коллеги, когда ставите [Ready], удаляйте хотя бы кучи закомментированного кода. + в тестах потоки лаконичнее всё же создавать в цикле |
|
Готово |
Начали работу, нужно пояснить пару моментов.
Тема работы:
John D. Valois Lock-Free Linked Lists Using Compare-and-Swap
http://people.csail.mit.edu/bushl2/rpi/portfolio/lockfree-grape/documents/lock-free-linked-lists.pdf