2013-08-31 28 views

Trả lời

8

Go chưa có bộ lập lịch preemptive, nhưng một là planned for 1.2. Vì vậy, không, Go sẽ không chuyển ngữ cảnh trong quá trình tính toán chỉ CPU, chỉ trong I/O (đọc từ bộ nhớ cũng được coi là I/O nếu nó không có trong sổ đăng ký). Bạn có thể đọc một số cuộc thảo luận về nó trong Issue 543 - preemptive scheduling.

+0

Nếu tôi hiểu chính xác, hãy gọi những gì được mô tả trong lịch biểu ưu tiên của các liên kết này quá xa vời. Nó không thực sự ưu tiên, nó chỉ là sản lượng được đặt ở nhiều nơi hơn, vô hình đối với lập trình viên. Chắc chắn, điều đó làm cho chương trình 'đồng thời' hơn, nhưng nó vẫn hợp tác. Tôi nghĩ rằng không thể thực hiện đa nhiệm ưu tiên mà không cần sử dụng VM đặc biệt (như Erlang) hoặc không hỗ trợ hệ điều hành trực tiếp (chủ đề OS). –

+0

Bạn có thể vui lòng cập nhật câu trả lời của mình không? Tôi đã nghe nói rằng Go đã có thể làm trống trước tại các cuộc gọi chức năng trong một thời gian, nhưng tôi không biết chắc chắn. –

Các vấn đề liên quan