Мне интересно, является ли это полностью поточно-ориентированным и должно ли быть ключевое слово volatile.
using System.Threading;
class Program
{
private static volatile bool _restart = true;
private static void Main()
{
while (_restart)
{
// Do stuff here every time for as long as _restart is true
Thread.Sleep(1);
}
}
private static void SomeOtherThread()
{
Thread.Sleep(1000);
_restart = false;
}
}
Я думаю, что это так, но я хочу перепроверить, так как я не уверен на 100%, я просто хочу быть уверен.
Я думаю, что ключевое слово volatile требуется, потому что тогда было бы невозможно кэшировать значение в регистрах или подобных оптимизациях.