1) A multithreading é extremamente difícil e, infelizmente, a maneira como você apresentou essa ideia até agora implica que você está subestimando seriamente a dificuldade.
No momento, parece que você está simplesmente "adicionando tópicos" ao idioma e se preocupando com como corrigi-lo e ter um desempenho mais tarde. Em particular:
se duas tarefas tentam acessar uma variável simultaneamente, ela é marcada como atômica e elas disputam o acesso.
...
Concordo que as variáveis atômicas não resolverão tudo, mas trabalhar em uma solução para o problema de sincronização é meu próximo objetivo.
Adicionar threads ao Javascript sem uma "solução para o problema de sincronização" seria como adicionar números inteiros ao Javascript sem uma "solução para o problema de adição". É tão fundamental para a natureza do problema que basicamente não faz sentido discutir se vale a pena adicionar multithreading sem uma solução específica em mente, não importa o quanto a desejemos.
Além disso, tornar todas as variáveis atômicas é o tipo de coisa que provavelmente fará com que um programa multithread tenha um desempenho pior do que seu equivalente de single-threaded, o que torna ainda mais importante testar o desempenho em programas mais realistas e ver se você está ganhando algo ou não.
Também não está claro para mim se você está tentando manter os threads ocultos do programador node.js.se planeja expô-los em algum momento, criando efetivamente um novo dialeto de Javascript para programação multithread. Ambas as opções são potencialmente interessantes, mas parece que você ainda nem decidiu qual delas está buscando.
Portanto, no momento, você está pedindo aos programadores que pensem em mudar de um ambiente single-threaded para um novo ambiente multithread que não tem solução para o problema de sincronização e nenhuma evidência que melhore o desempenho no mundo real, e aparentemente nenhum plano para resolver esses problemas.
É provavelmente por isso que as pessoas não o levam a sério.
2) A simplicidade e robustez do loop de evento único é uma enorme vantagem.
Os programadores Javascript sabem que a linguagem Javascript é "segura" contra as condições de corrida e outros bugs extremamente insidiosos que afetam toda a programação genuinamente multithread. O fato de que eles precisam de argumentos fortes para convencê-los a desistir de que a segurança não os deixa com a mente fechada, os torna responsáveis.
A menos que você possa, de alguma maneira, manter essa segurança, qualquer pessoa que queira mudar para um node.js multithread pode provavelmente mudar para um idioma como o Go, desenvolvido desde o início para aplicativos multithread.
3) Javascript já suporta "threads de segundo plano" (WebWorkers) e programação assíncrona sem expor diretamente o gerenciamento de threads ao programador.
Esses recursos já resolvem muitos casos de uso comuns que afetam os programadores Javascript no mundo real, sem abrir mão da segurança do loop de evento único.
Você tem algum caso de uso específico em mente que esses recursos não resolvem e que os programadores Javascript desejam uma solução? Nesse caso, seria uma boa ideia apresentar seu node.js multithread no contexto desse caso de uso específico.
PS O que me convenceu a tentar alternar para uma implementação node.js multithread?
Escreva um programa não trivial em Javascript / node.js que, em sua opinião, se beneficiaria de multithreading genuíno. Faça testes de desempenho neste programa de amostra no nó normal e no seu nó multithread. Mostre-me que sua versão melhora significativamente o desempenho em tempo de execução, a capacidade de resposta e o uso de múltiplos núcleos, sem introduzir bugs ou instabilidade.
Depois de fazer isso, acho que você verá pessoas muito mais interessadas nessa idéia.