PriorityBlockingQueue в Spring Boot зависает с более чем 9 одновременными запросами

Чтобы избежать длительных и ненадежных тасов, я бы сделал следующее ...

  1. Создайте массив, который содержит число от 1 до 100, в порядке.
  2. Создайте случайное число от 1 до 100
  3. Посмотрите номер в этом индексе в массиве и сохраните в своих результатах
  4. Удалите элемент из массива, сделав его одним короче
  5. Повторите шаг 2, но используйте 99 как верхний предел случайного числа
  6. Повторите с шага 2, но используйте 98 в качестве верхнего предела случайного числа
  7. Повторите шаг 2, но используйте 97 как верхний предел случайного числа
  8. Повторите с шага 2, но используйте 96 как верхний предел случайного числа
  9. Повторите из шага 2, но используйте 95 как верхний предел случайного числа
  10. Повторите с шага 2, но используйте 94 как верхний предел случайного числа
  11. Повторите с шага 2, но используйте 93 как верхний предел случайного числа

Voila - нет повторных чисел.

Я могу опубликовать некоторые фактические код позже, если кому-то интересно.

Редактирование: это, вероятно, конкурентная полоса во мне, но, увидев сообщение от @Alsciende, я не смог устоять, отправив код, который я обещал.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>8 unique random number between 1 and 100</title>
<script type="text/javascript" language="Javascript">
    function pick(n, min, max){
        var values = [], i = max;
        while(i >= min) values.push(i--);
        var results = [];
        var maxIndex = max;
        for(i=1; i <= n; i++){
            maxIndex--;
            var index = Math.floor(maxIndex * Math.random());
            results.push(values[index]);
            values[index] = values[maxIndex];
        }
        return results;
    }
    function go(){
        var running = true;
        do{
            if(!confirm(pick(8, 1, 100).sort(function(a,b){return a - b;}))){
                running = false;
            }
        }while(running)
    }
</script>
</head>

<body>
    <h1>8 unique random number between 1 and 100</h1>
    <p><button onclick="go()">Click me</button> to start generating numbers.</p>
    <p>When the numbers appear, click OK to generate another set, or Cancel to stop.</p>
</body>

0
задан borjamf 16 January 2019 в 14:15
поделиться