Nói chung, tôi giả định rằng các luồng không được đồng bộ hóa, người dùng có thể thực hiện khóa phù hợp. Tuy nhiên, những thứ như coutcó được đối xử đặc biệt trong thư viện tiêu chuẩn không?
Đó là, nếu nhiều luồng đang ghi coutchúng có thể làm hỏng coutđối tượng không? Tôi hiểu rằng ngay cả khi được đồng bộ hóa, bạn vẫn nhận được đầu ra xen kẽ ngẫu nhiên, nhưng việc xen kẽ đó có được đảm bảo không. Đó là, nó có an toàn để sử dụng couttừ nhiều chủ đề không?
Nhà cung cấp này có phụ thuộc không? Gcc làm gì?
Quan trọng : Vui lòng cung cấp một số loại tham chiếu cho câu trả lời của bạn nếu bạn nói "có" vì tôi cần một số loại bằng chứng về điều này.
Mối quan tâm của tôi cũng không phải là về các lệnh gọi hệ thống cơ bản, những lệnh đó ổn, mà là các luồng thêm một lớp đệm ở trên cùng.
printftỏa sáng khi đầu ra hoàn chỉnh được ghi stdoutvào một lần chụp; khi sử dụng std::coutmỗi liên kết của chuỗi biểu thức sẽ được xuất ra riêng rẽ stdout; ở giữa chúng có thể có một số ghi luồng khác stdoutdo đó thứ tự của đầu ra cuối cùng bị rối loạn.