Size: a a a

var chat = new Chat();

2020 April 23

н

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

н

назови меня клоуном in var chat = new Chat();
назови меня клоуном
Всем привет, ознакамливаюсь с многопоточностью. Подскажите, как лучше будет выполнить данную задачу - Метод1 запускает Метод2 в отдельном потоке. Если в течение 2 сек Метод2 не заканчивает свою работу, Метод1 подает ему сигнал прерывания. Я понял что можно каким-то образом воспользоваться перегрузкой Thread.Join(int ms) но чет как вырубить поток не очень пойму
как мне кажется можно эту задачу по-другому сделать
источник

н

назови меня клоуном in var chat = new Chat();
назови меня клоуном
Всем привет, ознакамливаюсь с многопоточностью. Подскажите, как лучше будет выполнить данную задачу - Метод1 запускает Метод2 в отдельном потоке. Если в течение 2 сек Метод2 не заканчивает свою работу, Метод1 подает ему сигнал прерывания. Я понял что можно каким-то образом воспользоваться перегрузкой Thread.Join(int ms) но чет как вырубить поток не очень пойму
и да, вроде бы мне обязательно нужно через thread.Join сделать, чтобы текущий поток блокировать
источник

VL

Vova Lantsov in var chat = new Chat();
Task.Run(() =>
{
 using (var tokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(2d)))
 {
   CancellationToken token = tokenSource.Token;
   ...
   token.ThrowIfCancellationRequested();
   ...
 }
});
источник

VL

Vova Lantsov in var chat = new Chat();
Можно так например
источник

н

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

VL

Vova Lantsov in var chat = new Chat();
суть не столько в Task.Run, сколько в CancellationToken
источник

VL

Vova Lantsov in var chat = new Chat();
Дёргай его между вызовами своего кода, передавай его во все методы, которые его принимают как параметр
источник

VL

Vova Lantsov in var chat = new Chat();
То-есть в принципе когда один поток завершает другой - это не очень хорошо. А когда фоновый поток сам себя завершит - так лучше
источник

B[

Bars0_o [SpamBlock] in var chat = new Chat();
тут шарпы, не плюсы
источник

B[

Bars0_o [SpamBlock] in var chat = new Chat();
у тебя добавление норм пашет?
источник

ВП

Владислав Патока in var chat = new Chat();
Да
источник

B[

Bars0_o [SpamBlock] in var chat = new Chat();
может в нем проблема и тупо хранится 2 елемента
источник

ВП

Владислав Патока in var chat = new Chat();
Нет, хранятся все
источник

B

Bogdan in var chat = new Chat();
назови меня клоуном
и да, вроде бы мне обязательно нужно через thread.Join сделать, чтобы текущий поток блокировать
В джоин можно передать таймаут, т.е. попытатся проджоинить, но ждать не дольше чем  Н сек
источник

B

Bogdan in var chat = new Chat();
Потом либо булевский флаг либо канселейшен токен, как предлагают
источник

B

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

н

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

н

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

н

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