Java 8 параллельный поток для каждого итератора [дубликат]

Как сказал Саи, оболочка - это ребенок, поэтому сигналы перехватываются им - лучший способ, который я нашел, - использовать shell = False и использовать shlex для разделения командной строки:

if isinstance(command, unicode):
    cmd = command.encode('utf8')
args = shlex.split(cmd)

p = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

Затем p.kill () и p.terminate () должны работать так, как вы ожидаете.

1
задан Misha 20 June 2017 в 05:31
поделиться

1 ответ

HashMap не является потокобезопасным, поэтому не используйте параллельные потоки с ним.

Кроме того, зачем это делать, когда потоки могут сделать это для вас?

DbDetails.parallelStream().collect(Collectors.groupingBy(Detail::getId))
3
ответ дан Andreas 15 August 2018 в 21:43
поделиться
  • 1
    Огромное спасибо!! Я узнал новый способ его написания. Я делаю это, потому что мне нужно судить по условиям, тогда создайте два разных списка, и я не знал, что смогу это сделать. – Maxim Rong 20 June 2017 в 06:01
Другие вопросы по тегам:

Похожие вопросы: