Помогите, пожалуйста, разобраться в некоторых моментах.
Как я понял вы хотите убедиться, что ваши конкурентные структуры данных потокобезопасны.
Вы тестируете конкурентные структуры в однопоточной среде, имеется в виду один физический поток ОС. При этом, используя модель чередования выполнения инструкций, на которую можно полагаться, только при условии, что весь код корректно синхронизирован с учетом модели памяти конкретного рантайма и железа.
Но в продакшн условиях, как я понимаю у вас многопоточная среда выполнения со своим планировщиком, работающим более чем с одним физическим потоком ОС и отсутствие гарантий, что код правильно синхронизирован.
Отсюда у меня вопрос, я неправильно понял о среде где выполняется ваш продакшн код или мое предположение, что вы хотите убедиться в потокобезопасности ваших структур неверное и вы получаете другие гарантии с помощью данной верификации? Хочу разобраться с этим вопросом, можете пожалуйста направить в нужное русло?
Вы перевели предложение из оригинальной статьи — «We all use concurrency and parallelism every day» как «Все мы ежедневно наблюдаем одновременную работу и параллелизм».
Заголовок «Problems with concurrency» как «Проблемы с параллелизмом».
В статье, в некоторых местах, Вы делаете понятия concurrency и parallelism взаимозаменяемыми, что как мне кажется немножко неправильно. Возможно автор оригинала не предавал этому большого внимания, но наверное стоит оставить терминологию из оригинала?
И еще в начале раздела «Как решает проблему Rust?» в оригинальной статье речь идет о гонке данных, а у Вас о состоянии гонки. Что может сильно исказить смысл оригинальной статьи.
Спасибо за интересную статью!
Помогите, пожалуйста, разобраться в некоторых моментах.
Как я понял вы хотите убедиться, что ваши конкурентные структуры данных потокобезопасны.
Вы тестируете конкурентные структуры в однопоточной среде, имеется в виду один физический поток ОС. При этом, используя модель чередования выполнения инструкций, на которую можно полагаться, только при условии, что весь код корректно синхронизирован с учетом модели памяти конкретного рантайма и железа.
Но в продакшн условиях, как я понимаю у вас многопоточная среда выполнения со своим планировщиком, работающим более чем с одним физическим потоком ОС и отсутствие гарантий, что код правильно синхронизирован.
Отсюда у меня вопрос, я неправильно понял о среде где выполняется ваш продакшн код или мое предположение, что вы хотите убедиться в потокобезопасности ваших структур неверное и вы получаете другие гарантии с помощью данной верификации? Хочу разобраться с этим вопросом, можете пожалуйста направить в нужное русло?
Заголовок «Problems with concurrency» как «Проблемы с параллелизмом».
В статье, в некоторых местах, Вы делаете понятия concurrency и parallelism взаимозаменяемыми, что как мне кажется немножко неправильно. Возможно автор оригинала не предавал этому большого внимания, но наверное стоит оставить терминологию из оригинала?
Все таки разные вещи означают термины.
И еще в начале раздела «Как решает проблему Rust?» в оригинальной статье речь идет о гонке данных, а у Вас о состоянии гонки. Что может сильно исказить смысл оригинальной статьи.