này tôi đọc từ mô tả threads::shared
:Perl chia sẻ các biến số nguyên tử và tầm nhìn
Theo mặc định, các biến là riêng tư cho mỗi chủ đề, và mỗi chủ đề mới được tạo ra được một bản sao riêng của mỗi biến đang tồn tại. Module này cho phép bạn chia sẻ các biến qua chủ đề khác nhau ... (more)
Hãy nói rằng tôi có một biến chia sẻ như thế này:
my $var :shared;
$var = 10;
Điều này có nghĩa các biến tồn tại duy nhất một lần cho tất cả các chủ đề tôi tạo .
Bây giờ về số nguyên tử và visibility:
Nếu thread_A gán một giá trị mới giả sử 11:
$var = 11;
Có đảm bảo rằng thread_B (và tất cả các chủ đề khác mà tôi có thể đã tạo ra) sẽ thấy giá trị 11? Và bài tập được thực hiện một cách nguyên tử?
Hoặc chúng ta có như trong Java trước tiên để có được một khóa và sau đó làm nhiệm vụ và để giải phóng khóa. Và chỉ có chủ đề sử dụng cùng một khóa được đảm bảo để xem giá trị cập nhật?
Hoặc điều này hoạt động như biến nguyên thủy dễ bay hơi trong Java?