Size: a a a

var chat = new Chat();

2020 March 21

н

назови меня клоуном in var chat = new Chat();
у меня выход единственный который я нашел это в доп потоке выставлять при определенном условии флаг а в главном потоке на основных точках проги этот флаг проверяю
источник

E

Etki in var chat = new Chat();
выше то же самое
источник

н

назови меня клоуном in var chat = new Chat();
но было бы удобнее в доп потоке сразу запускать те штуки которые я в основном при определенном условии
источник

н

назови меня клоуном in var chat = new Chat();
выполняю
источник

н

назови меня клоуном in var chat = new Chat();
а основной поток уничтожать/останавливать(да я понимаю что это неправильно)
источник

E

Etki in var chat = new Chat();
welp, в чем проблема при определенном условии запускать те штуки сразу в доп потоке?
источник

E

Etki in var chat = new Chat();
почему неправильно его останавливать? Join() по факту это и делает, ставя его на паузу.
источник

н

назови меня клоуном in var chat = new Chat();
Etki
welp, в чем проблема при определенном условии запускать те штуки сразу в доп потоке?
дело в том что эти самые штуки должны в итоге привести к окончанию программы
источник

н

назови меня клоуном in var chat = new Chat();
но в доп потоке сделать это не удастся
источник

E

Etki in var chat = new Chat();
а произойдет что-то другое?
источник

н

назови меня клоуном in var chat = new Chat();
да
источник

E

Etki in var chat = new Chat();
если в доп потоке это нельзя сделать, значит этот вариант отбрасывается
источник

н

назови меня клоуном in var chat = new Chat();
закончится доп поток (по сути по логике закончит программу(по моей логике)) но основной дальше пойдет
источник

н

назови меня клоуном in var chat = new Chat();
делать что делал
источник

E

Etki in var chat = new Chat();
вощим, опиши реальный кейс, который ты решаешь. а том ы бьемся об "можно вот так" - "нет, так не выйдет"
источник

p

polunin.ai in var chat = new Chat();
назови меня клоуном
но было бы удобнее в доп потоке сразу запускать те штуки которые я в основном при определенном условии
"штуки" это что? Цикл обработки?
источник

н

назови меня клоуном in var chat = new Chat();
Etki
вощим, опиши реальный кейс, который ты решаешь. а том ы бьемся об "можно вот так" - "нет, так не выйдет"
Вообщем, я вообще более менее(скорее менее) аспер но нам по универу задали для того чтоб ооп проверить сделать ооп консольную игру, ну и я поскольку с многопоточностью только около async await разбирался только решил задеть многопоточность тоже,ну  и поучить.Вот у меня допустим в игре есть такая штука что игрок может разбить блок под собой и он восстановится через 3 секунды.Реализовал я это как дополнительный поток который слипается на 3 секунды и после этих 3х секунд соответственно ставит блок обратно на место там где игрок его разбил. Прикол в том что также в этом потоке описан случай когда экземпляр игрока находится внутри блока который вскоре должен восстановиться(очевидно игрок перемещается в основном потоке) и в таком случае если игрок не успевает выбраться - он погибает, и вот на этом этапе я бы хотел из дополнительного потока потока вызвать некий метод new Controller.OnPlayerKilled(данный метод по идее пока что заканчивает игру(программу), а основной поток абортнуть. Решил я это дело пока что тем что в основных частях программы в основном потоке(в конструкторе контроллера и View)  проверяю флаг Player.IsKilled(он выставляется в дополнительном потоке) и если он тру соответственно заканчиваю программу. А вот по-другому и не знаю как. Такие дела
источник

н

назови меня клоуном in var chat = new Chat();
polunin.ai
"штуки" это что? Цикл обработки?
ну и вот я написал
источник

E

Etki in var chat = new Chat();
назови меня клоуном
Вообщем, я вообще более менее(скорее менее) аспер но нам по универу задали для того чтоб ооп проверить сделать ооп консольную игру, ну и я поскольку с многопоточностью только около async await разбирался только решил задеть многопоточность тоже,ну  и поучить.Вот у меня допустим в игре есть такая штука что игрок может разбить блок под собой и он восстановится через 3 секунды.Реализовал я это как дополнительный поток который слипается на 3 секунды и после этих 3х секунд соответственно ставит блок обратно на место там где игрок его разбил. Прикол в том что также в этом потоке описан случай когда экземпляр игрока находится внутри блока который вскоре должен восстановиться(очевидно игрок перемещается в основном потоке) и в таком случае если игрок не успевает выбраться - он погибает, и вот на этом этапе я бы хотел из дополнительного потока потока вызвать некий метод new Controller.OnPlayerKilled(данный метод по идее пока что заканчивает игру(программу), а основной поток абортнуть. Решил я это дело пока что тем что в основных частях программы в основном потоке(в конструкторе контроллера и View)  проверяю флаг Player.IsKilled(он выставляется в дополнительном потоке) и если он тру соответственно заканчиваю программу. А вот по-другому и не знаю как. Такие дела
Всё правильно, примерно так они и должны общаться. Там может быть много комментариев к абстракции и к тому, что по-хорошему это на других примитивах должно делаться, но когда мы это всё выкидываем пушо это просто вводная задача - всё правильно, основной поток работает и проверяет, может ли он продолжить работу, дополнительный поток через флаг сообщает ему, что наступила критическая ситуация.
источник

A

Andrew in var chat = new Chat();
Ясно. Оффтоп. Если есть по дотнету конкретные предложения, то их можно мне прислать, я в канал опубликую
источник