1) Đa luồng là vô cùng khó khăn, và thật không may là cách bạn đã trình bày ý tưởng này cho đến nay ngụ ý rằng bạn đang đánh giá thấp mức độ khó của nó.
Hiện tại, có vẻ như bạn chỉ đơn giản là "thêm chủ đề" vào ngôn ngữ và lo lắng về cách làm cho nó chính xác và hiệu suất sau này. Đặc biệt:
nếu hai tác vụ cố gắng truy cập đồng thời một biến thì nó được đánh dấu nguyên tử và chúng tranh giành quyền truy cập.
...
Tôi đồng ý rằng các biến nguyên tử sẽ không giải quyết được mọi thứ, nhưng làm việc trên một giải pháp cho vấn đề đồng bộ hóa là mục tiêu tiếp theo của tôi.
Thêm chủ đề vào Javascript mà không có "giải pháp cho vấn đề đồng bộ hóa" sẽ giống như thêm số nguyên vào Javascript mà không có "giải pháp cho vấn đề bổ sung". Nó rất cơ bản đối với bản chất của vấn đề đến nỗi về cơ bản không có vấn đề gì để thảo luận liệu đa luồng có đáng để thêm vào hay không mà không có giải pháp cụ thể nào, cho dù chúng ta có muốn nó đến mức nào.
Thêm vào đó, làm cho tất cả các biến nguyên tử là loại điều có khả năng làm cho một chương trình đa luồng hoạt động kém hơn so với đối tác đơn lẻ của nó, điều này càng quan trọng hơn khi thực sự kiểm tra hiệu suất trên các chương trình thực tế hơn và xem liệu bạn có đạt được gì hay không.
Tôi cũng không rõ liệu bạn đang cố gắng giấu các luồng khỏi lập trình viên node.js hay nếu bạn dự định phơi bày chúng vào một lúc nào đó, thực sự tạo ra một phương ngữ Javascript mới cho lập trình đa luồng. Cả hai tùy chọn đều có khả năng thú vị, nhưng có vẻ như bạn thậm chí chưa quyết định bạn đang nhắm đến cái nào.
Vì vậy, hiện tại, bạn đang yêu cầu các lập trình viên xem xét chuyển đổi từ môi trường đơn lẻ sang môi trường đa luồng hoàn toàn mới, không có giải pháp cho vấn đề đồng bộ hóa và không có bằng chứng nào cải thiện hiệu suất trong thế giới thực và dường như không có kế hoạch giải quyết các vấn đề đó.
Đó có lẽ là lý do tại sao mọi người không coi trọng bạn.
2) Sự đơn giản và mạnh mẽ của vòng lặp sự kiện duy nhất là một lợi thế rất lớn .
Các lập trình viên Javascript biết rằng ngôn ngữ Javascript "an toàn" khỏi các điều kiện chủng tộc và các lỗi cực kỳ quỷ quyệt khác gây ra tất cả các chương trình đa luồng thực sự. Việc họ cần những lý lẽ mạnh mẽ để thuyết phục họ từ bỏ rằng sự an toàn không khiến họ trở nên khép kín, điều đó khiến họ có trách nhiệm.
Trừ khi bạn có thể giữ được sự an toàn đó bằng cách nào đó, bất kỳ ai muốn chuyển sang node.js đa luồng có lẽ tốt hơn nên chuyển sang ngôn ngữ như Go được thiết kế từ đầu cho các ứng dụng đa luồng.
3) Javascript đã hỗ trợ "luồng nền" (WebWorkers) và lập trình không đồng bộ mà không trực tiếp đưa ra quản lý luồng cho lập trình viên.
Các tính năng này đã giải quyết rất nhiều trường hợp sử dụng phổ biến ảnh hưởng đến các lập trình viên Javascript trong thế giới thực, mà không từ bỏ sự an toàn của vòng lặp sự kiện.
Bạn có bất kỳ trường hợp sử dụng cụ thể nào mà các tính năng này không giải quyết được không và các lập trình viên Javascript muốn có giải pháp cho? Nếu vậy, sẽ là một ý tưởng tốt để trình bày node.js đa luồng của bạn trong ngữ cảnh của trường hợp sử dụng cụ thể đó.
PS Điều gì sẽ thuyết phục tôi thử chuyển sang triển khai node.js đa luồng?
Viết một chương trình không tầm thường trong Javascript / node.js mà bạn nghĩ sẽ được hưởng lợi từ đa luồng chính hãng. Thực hiện kiểm tra hiệu suất trên chương trình mẫu này trong nút bình thường và nút đa luồng của bạn. Cho tôi thấy rằng phiên bản của bạn cải thiện hiệu năng thời gian chạy, khả năng phản hồi và sử dụng nhiều lõi ở một mức độ đáng kể, mà không đưa ra bất kỳ lỗi hoặc mất ổn định nào.
Khi bạn đã thực hiện điều đó, tôi nghĩ bạn sẽ thấy mọi người quan tâm nhiều hơn đến ý tưởng này.