Ruby có phải là một luồng không?
Ruby có phải là một luồng không?

Video: Ruby có phải là một luồng không?

Video: Ruby có phải là một luồng không?
Video: Bạn có biết “Nơi xa nhất” trên Trái đất mới là nơi “Náo nhiệt nhất”?? |Ms. Ruby 2024, Tháng mười một
Anonim

Câu trả lời ngắn gọn là có, họ luồng đơn . Câu trả lời dài là nó phụ thuộc. JRuby là đa luồng và có thể chạy trong tomcat như các mã java khác. MRI (mặc định hồng ngọc ) và Python đều có GIL (Global Interpreter Lock) và do đó luồng đơn.

Theo cách này, Ruby on Rails có phải là một luồng không?

Kết quả là Eventhough Đường ray chính nó là chủ đề -safe kể từ phiên bản 2.2, vẫn chưa có một multi- xâu chuỗi máy chủ cho nó trên máy chủ Windows. Và bạn sẽ nhận được kết quả tốt nhất bằng cách chạy nó trên máy chủ * nix bằng cách sử dụng đa quy trình / Độc thân - xâu chuỗi mô hình đồng thời. Đường ray như một khuôn khổ là chủ đề -an toàn. Vì vậy, câu trả lời là có!

Sau đó, câu hỏi đặt ra là tại sao Python là một luồng? Khóa này ngăn việc thực thi nhiều luồng cùng một lúc trong Python thông dịch viên. Mỗi chủ đề cái đó muốn chạy phải đợi GIL được giải phóng bởi cái kia chủ đề , có nghĩa là đa Python luồng ứng dụng thực sự là luồng đơn.

Cũng được hỏi, Ruby có đa luồng không?

MỘT đa luồng chương trình có nhiều hơn một chủ đề thực thi. Ruby làm cho nó dễ dàng để viết đa - xâu chuỗi chương trình với Chủ đề lớp. Chủ đề Ruby là một cách nhẹ và hiệu quả để đạt được tính đồng thời trong mã của bạn.

Ruby có Gil không?

Khóa thông dịch viên toàn cầu MRI có Khóa thông dịch viên toàn cầu, thường được gọi là GIL , và đang có hiểu biết ở cấp độ cao về nó là điều quan trọng để hiểu cách chúng tôi viết mã đa luồng trong Ruby . Về cơ bản GIL ngăn chặn nhiều Ruby từ thực thi cùng một lúc.

Đề xuất: