3 ms·
Well, considering that Emacs is supposed to integrate smoothly with external processes, it looks that asynchronous IO support it will be a better solution. Mul
by etanol 15y ago
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
- pmr_ 15y agoUnfortunately integration with other processes does not always lead to the expected results and many tools have been reimplemented in Emacs Lisp to integrate better with the rest of the Emacs platform. Suddenly, not having multi-threading becomes a real issue (Why the heck is Gnus taking so long and why can't I edit in the meanwhile?). Some might say that it is insane to use Emacs for every conceivable task, but it offers me exactly the degree of integration I'm after, a uniform UI and a disruption free environment for most of my computing needs.