From: alextaooo@...
Date: 2021-03-09T09:18:03+00:00
Subject: [ruby-core:102790] [Ruby master Misc#11904] Why was Thread.exclusive deprecated?
Issue #11904 has been updated by krovlyaplosk (krovlyaplosk krovlyaplosk).
���������� ������������. ������������������������ ������������ ���� ������������������������ ������������. �������������� ���������������������� ���� �������������� �������������� ������������, ������ ����������������, ������ ����������������, ������������������-���������������� ������������������, ���������� �������������������������������� ������������, �������������� ������������ ������������������ ���� ���������������������� ���������� . �� �������������������� ��������������. ������������������������ ������������ ������������ ������������������ �������������������� ���������� - �������������������� ������������ �� �������������������� �� ���������������� ���������������� ������������������ ���� ���������� ������������������������ . ������������������������ ������������ ���� ������������������ �������� ������������������ ���� ���� ���������� . �������������������������������� ������������������ ���� �������������������� �������������� ������������, ������ ����������������, ������ ����������������, ������������������-���������������� ����������������, ���������� �������������������������������� ��������������, �������������� ������������ ������������������ ���� ���������������������� ���������� ������������ ������������ .
----------------------------------------
Misc #11904: Why was Thread.exclusive deprecated?
https://bugs.ruby-lang.org/issues/11904#change-90810
* Author: bascule (Tony Arcieri)
* Status: Rejected
* Priority: Normal
----------------------------------------
initialize a mutex because the mutex must be initialized in a thread-safe context where it's not possible for multiple caller threads to initialize the mutex concurrently.
One use case is here: this is an idempotent native function invoked via FFI. The contract is that it can be called repeatedly, but only by one thread at a time (concurrent calls from multiple threads can potentially corrupt its internal state):
https://github.com/cryptosphere/rbnacl/blob/master/lib/rbnacl.rb#L88
Thread.exclusive is useful because it provides an implicit mutex you can ensure is initialized correctly before any other threads start.
--
https://bugs.ruby-lang.org/
Unsubscribe: