Đọc về đồng thời trong Erlang , làm tôi nhớ đến bộ công cụ tương tranh Akka . Cả hai đều cung cấp cho bạn các công cụ để ngăn chặn hoặc hạn chế các điều kiện cuộc đua . Nhưng bạn có thể gửi liên kết đến dữ liệu có thể thay đổi đến các quy trình khác bằng bộ công cụ Akka vẫn không an toàn. Tôi thấy Akka là một công cụ hữu ích, nhưng nó không cung cấp sự bảo vệ chống lại việc truy cập không theo thứ tự vào các đối tượng và dữ liệu dẫn đến tình trạng chủng tộc, bế tắc và / hoặc chết đói. Nó không ngăn bạn viết mã không an toàn theo cách Java hoặc C # bảo vệ bạn khỏi việc viết hầu hết các loại rò rỉ bộ nhớ mà bạn có thể viết bằng C ++ (bạn vẫn có thể tạo rò rỉ bộ nhớ trong Java bằng cách lừa bộ thu gom rác, nhưng nó ít hơn của một vấn đề hơn là phải nhớ giải phóng mọi byte bạn phân bổ).
Erlang có đảm bảo mức độ chính xác, hiệu suất và sự mạnh mẽ trong lập trình đồng thời không? Tôi nghĩ rằng các hệ điều hành cung cấp sự bảo vệ khi truy cập tài nguyên hệ thống (giả sử các trình điều khiển trình điều khiển đã làm tốt công việc của họ). Cơ sở dữ liệu ACID cung cấp bảo vệ cho việc đọc và cập nhật. Vì vậy, có vẻ như đây là một vấn đề có thể giải quyết được. Hoặc một giải pháp an toàn chung sẽ xóa đi hiệu suất đạt được mà đồng thời cung cấp? Các ngôn ngữ hoặc bộ công cụ khác có cung cấp loại an toàn đồng thời mà Erlang thực hiện (hoặc không) không?
Đây là câu hỏi tiếp theo cho nhận xét của @ Malfist về câu trả lời của @ user1249 về Ngôn ngữ lập trình nào tạo ra ít lỗi khó tìm nhất? .