Random C#

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
В шаблоне, при выключенном браузере , есть такой код

Код:
Random rand = new Random();
int i= rand.Next(1000,8000);
System.Threading.Thread.Sleep(i);
return i;
но в результате - генерится одна пауза на все потоки

вот скрин http://prntscr.com/a16kee ( был запущен 1 проект в 10 потоков) и у них должны были быть все разные паузы
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113
Кол-во потоков в одном процессе, сколько стоит?
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Попробуйте так:
C#:
new System.Threading.ManualResetEvent(false).WaitOne(pause);
 

wizard

Client
Регистрация
04.10.2011
Сообщения
1 004
Благодарностей
632
Баллы
113
Да я в принципе поборол это по другому --- меня беспокоит сам баг
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Я думаю что, скорее всего, это не баг, а фича, попробуйте уменьшить количество потоков в одном процессе до одного, или в пм в настройках поставить галочку на выделенный процесс, и скорее всего проблема уйдет.

P.S. Не уверен что мое решение подходит для этой проблемы, хотя по идее должно, завтра протестирую.

P.P.S. Если вы это побороли не поделитесь ? лишнее решение никогда не помешает.
 
Последнее редактирование:

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
В шаблоне, при выключенном браузере , есть такой код

Код:
Random rand = new Random();
int i= rand.Next(1000,8000);
System.Threading.Thread.Sleep(i);
return i;
но в результате - генерится одна пауза на все потоки

вот скрин http://prntscr.com/a16kee ( был запущен 1 проект в 10 потоков) и у них должны были быть все разные паузы
Сталкивался раньше с этим. Экземпляр класса Random необходимо создавать 1 раз и перекидывать его в разные потоки. Подробнее https://habrahabr.ru/post/165459/
Используйте специально созданный разработчиками ZennoLab класс.

Код:
Global.Classes.rnd.Next(1000, 8000);
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Ооо, даже не знал, и в доках ничего нет об этом, спс!
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)