Well, considering that Emacs is supposed to integrate smoothly with external processes, it looks that asynchronous IO support it will be a better solution. Multithreading is generally a tricky business for interpreters and virtual machines.
So to reduce editor interface freezing, looks like a dead-end: either you expose asynchronous IO (like AJAX), or you add the complexity to have a multithreaded interpreter (like JVM) or implement a sane concurrency model (like the actor model in the BEAM machine). Or else avoid Emacs modes that are known to freeze.
However, I recently discovered that VIM uses threads:
$ ps -eLf | grep vim
UID PID PPID LWP C NLWP STIME TTY TIME CMD
etanol 15073 15023 15073 0 2 22:23 pts/2 00:00:00 vim
etanol 15073 15023 15074 0 2 22:23 pts/2 00:00:00 vim
I wonder what for :-S