Насколько я знаю, переменная в потоке должна быть небезопасной, если не заблокирована. Но я попробовал это на Unity, и нашел, что это разные. Я стараюсь код ниже:переменная безопасность в единстве нить
void Awake() {
Thread thread = new Thread(new ThreadStart (demo));
thread.Start();
for (int i = 0; i < 5000; i++) {
count = count + 1;
}
}
void demo() {
for (int i = 0; i < 5000; i++) {
count = count + 1;
}
}
И я стараюсь debug.log (COUNT), и каждый раз я пытаюсь его, что это 10000. Но это должно быть число, которое меньше, чем 10000 из-за не безопасность нитей, не так ли? Так может кто-нибудь сказать мне, почему?
Можете ли вы отправить [mcve], чтобы мы могли скопировать-вставить и запустить ваш код? – Enigmativity
вы можете показать нам код, в котором вы вызываете активный метод –
@OusmaneDiaw - Нам нужен полный код, а не только вызов '.Awake()'. Нам нужен [mcve]. – Enigmativity