@DragonFly попробуй переустановить
3 случайные числа и чтоб не совпадали
-
@xclsv said in 3 случайные числа и чтоб не совпадали:
В первом сообщении Вы ничего не сообщали про многопоточность и условия работы с ней.
да как то это по умолчания предполагается :))))
@xclsv said in 3 случайные числа и чтоб не совпадали:
Безусловно, если разные числа одного списка нужны в разных потоках, то лучше делать через ресурс. Есть ещё какие-то глобальные списки, но не уверен, что это будет хорошим решением.
Хм, а разве созданный список в текущем потоке будет виден в других потоках?
-
@verhov said in 3 случайные числа и чтоб не совпадали:
да как то это по умолчания предполагается :))))
Ничего, что не написано в ТЗ по умолчанию не предполагается.
@verhov said in 3 случайные числа и чтоб не совпадали:
Хм, а разве созданный список в текущем потоке будет виден в других потоках?
Глобальные списки должны быть видны. Также как и глобальные переменные.
Эксперт в этом вопросе господин @senerg. -
@verhov said in 3 случайные числа и чтоб не совпадали:
а зачем мне глобальный список? мне то случайные выпадения нужны в рамках одного потока.
Прошу прощения. Неправильно понял Вас в этом сообщении:
@verhov said in 3 случайные числа и чтоб не совпадали:
так поток закончится и завершится, соответственно при вызове потока для другого номера список будет заполнятся заново, так? Заполнение списка в самом начале сделать. Список(0,,,,8) значениями 1,,,9
Да. В рамках одного потока можно использовать обычный список. Всё должно работать.
-
@verhov Лень было читать всю вашу переписку. Вот на коленке написал генератор, будет перебирать целые числа в заданном диапазоне, когда доступные значения закончатся, то очистит пул использованных значений и начнет заново
randomNumber = function(a,b) { this.was_used = [], this.a = a, this.b = b }; randomNumber.prototype.get = function(){ while(true){ var randomNum = Math.floor(Math.random() * (this.b-this.a + 1)) + parseInt(this.a); if(this.was_used.indexOf(randomNum)< 0) { this.was_used.push(randomNum); return randomNum; }; if(this.was_used.length == this.b - this.a + 1) this.clear(); //Если кончились доступные знаяения обнуляем }; }; randomNumber.prototype.clear =function(){ //Очистка использованных значений this.was_used = []; }; randNum = new randomNumber(1,10) //Создает новый генератор чисел в заданном диапазоне log( randNum.get() ); -
@verhov said in 3 случайные числа и чтоб не совпадали:
автоматизация игры в ленте :) там каждые сутки можно зайти и потыркать 9 кнопок, игра на канвасе, приходится по координатам тыркать. может на первом тырке получится облом, а может на 5, но на 8 точно чтото попадется.
Так может сделать фотку кнопок и безошибочно тыкать сразу по кнопкам, место координат?