Как обеспечить порядок обработки в параллельных потоках?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как обеспечить порядок обработки в параллельных потоках?

Сообщение Anonymous »

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

Предположим, у нас есть класс User

Код: Выделить всё

@Lombok.Data()
class User {
private String firstName;
private String lastName;
private int someValue;
private int priority;
}
и у нас есть список этих пользователей:

Код: Выделить всё

List users = someInitUsersFunction();
Я хочу заставить параллельный поток обрабатывать каждого пользователя по приоритету, скажем, у нас есть 100 пользователей с приоритетом 0, 100 пользователей с приоритетом 1 и 100 пользователей с приоритетом 2.

Я хочу запускать обработку пользователей с приоритетом 2 только тогда, когда выполнен приоритет 1 и когда выполнен приоритет 0.

Я думаю


mvn install -T 4


Может быть, это тот подход, который я использую ищу (первая сборка независимых модулей). Можно ли это сделать в потоках Java? Также возможно использование альтернатив.

Мой подход состоит в том, чтобы разделить на конкретный список по приоритету, а затем обработать список за списком.

Подробнее здесь: https://stackoverflow.com/questions/612 ... el-streams
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»