|
|
|
|
|
by zelly
2144 days ago
|
|
No, it's completely single threaded. There's basically a GIL stopping it from ever being multithreaded without a serious rewrite/redesign. For long-running blocking tasks you have to use external processes (or the new dynamic module API to write an extension in C with pthreads). |
|
Threads
* New variable 'main-thread' holds Emacs's main thread. This is handy in Lisp programs that run on a non-main thread and want to signal the main thread, e.g., when they encounter an error.
* 'thread-join' now returns the result of the finished thread.
* 'thread-signal' does not propagate errors to the main thread. Instead, error messages are just printed in the main thread.
* 'thread-alive-p' is now obsolete, use 'thread-live-p' instead.
* New command 'list-threads' shows Lisp threads. See the current list of live threads in a tabulated-list buffer which automatically updates. In the buffer, you can use 's q' or 's e' to signal a thread with quit or error respectively, or get a snapshot backtrace with 'b'.