Создаю кучу Task
- в каждом игровой цикл, помещаю их в List<Task>
:
GamesList.Add(gp.ContinueWith(t=>GamesList.Remove(t)));
Но они почему-то удаляются из списка до того как игровой цикл завершится - игра при этом идет спокойненько. Wtf?
Проблема в том, что вы добавляете в список не тот таск, который вы удаляете.
ContinueWith
возвращает новый таск, а пытаетесь удалять вы первоначальный таск.
И да, вы не должны работать со списком из разных потоков без блокировки. Ну то есть вы можете, но не удивляйтесь тогда потерянным данным.
Попробуйте заменить GamesList
на потокобезопасную коллекцию, и используйте
GamesList.Add(gp);
gp.ContinueWith(t=>GamesList.Remove(t));
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите,пожалуйста, как скачать все файлы по нужному мне пути сайтаНапример www
Есть две формы и статический класс для их передачи данных между ними, На форме1 есть кнопка при нажатии на которую открывается форма2 посредством...
Не авторизируется с Google play, использую плагин для Unity версии 940