Не факт, которые Идут, и Java используют поток Пространства пользователя, средний, что Вы не можете действительно обмануть несколько ядро?

Другая попытка:

^(((\d+)\.)?(\d+)\.)?(\d+|\*)$

Это дает эти три части в группах 4,5,6, НО: Они выровненные направо. Так первый непустой указатель один из 4,5 или 6 дает поле версии.

  • 1.2.3 дает 1,2,3
  • 1.2.* дает 1,2, *
  • 1.2 дает пустой указатель, 1,2
  • , *** дает пустой указатель, пустой указатель, *
  • 1.* дает пустой указатель, 1, *
14
задан hannson 19 March 2010 в 18:20
поделиться

2 ответа

Почему вы думаете, что Go использует потоки пользовательского пространства?

Нет. Он использует потоки ОС и может использовать преимущества нескольких ядер.

Вы можете быть озадачены тем фактом, что по умолчанию Go использует только один поток для запуска вашей программы. Если вы запустите две горутины , они будут работать в одном потоке. Но если одна горутина блокирует ввод-вывод, Go создает второй поток и продолжает запускать другую горутину в новом потоке.

Если вы действительно хотите разблокировать всю многоядерную мощность, просто используйте GOMAXPROCS () функция.

время выполнения.GOMAXPROCS (4); // где-то в main

Теперь ваша программа будет использовать 4 потока ОС (вместо 1) и сможет полностью использовать, например, 4-ядерную систему.

17
ответ дан 1 December 2019 в 12:26
поделиться

Самые последние версии Java для использования потоков ОС, хотя не обязательно однозначное отображение с потоками Java. Очевидно, что Java довольно хорошо работает со многими аппаратными потоками.

6
ответ дан 1 December 2019 в 12:26
поделиться
Другие вопросы по тегам:

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