emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: the state of the concurrency branch


From: Tom Tromey
Subject: Re: the state of the concurrency branch
Date: Tue, 27 Aug 2013 22:31:25 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

>> The current code only allows a single thread running at a time.

Eli> Really?  How does it do that?

Only one thread can run Lisp at a time.
Threads not running Lisp can do other things, though currently this amounts
to waiting for I/O or blocking on a mutex.
This is implemented using a global lock.

Eli> Anyway, if that's true, threads will be much less useful than they
Eli> could be (e.g., fetching a large newsgroup while editing would be
Eli> impossible, right?).  Also, the implementation of condition variables
Eli> could be much simpler and dumber than I imagined.

I am not sure whether it would work.
System level condition variables are used in thread-join.
This is a situation where the code is truly multi-threaded -- multiple
threads can be waiting to see another thread exit; they will
serialize only when re-entering Lisp.

Fetching while editing can work fine.

Tom



reply via email to

[Prev in Thread] Current Thread [Next in Thread]