Какие методы рубин бесплатно GVL? - PullRequest
0 голосов
/ 14 февраля 2019

В многопоточном выполнении ruby ​​вы не можете получить параллельное выполнение потоков, если не используете те функции, которые освобождают GVL.

В моем понимании следующие методы ruby ​​освобождают GVL:

  • Kernel#sleep
  • IO#read и IO#write

Вопрос

  • Есть ли в чистом рубине другие методы, которые освобождают GVL?

Версия

  • В настоящее время я использую ruby ​​версии 2.6, поэтому ожидайте информацию об этой версии.

1 Ответ

0 голосов
/ 15 февраля 2019

В чистом рубине, есть ли другие методы, которые освобождают GVL?

В чистом Ruby не существует такого понятия, как GVL.GVL - это особенность некоторых конкретных версий одной конкретной реализации Ruby.В подавляющем большинстве реализаций Ruby отсутствует GVL или что-то подобное.

В настоящее время я использую ruby ​​версии 2.6, так что ждите информации об этой версии.

Это верно для всех версий Ruby.Ни одна версия Ruby никогда не указывала на существование GVL.И весьма сомнительно, что любая будущая версия Ruby тоже подойдет.

...