From ... From: Erik Naggum Subject: Re: Threads Date: 2000/03/30 Message-ID: <3163392393402934@naggum.no>#1/1 X-Deja-AN: 604245814 References: <8buulu$jp$1@nnrp1.deja.com> mail-copies-to: never Content-Type: text/plain; charset=us-ascii X-Complaints-To: newsmaster@eunet.no X-Trace: oslo-nntp.eunet.no 954406116 21667 195.0.192.66 (30 Mar 2000 08:48:36 GMT) Organization: Naggum Software; vox: +47 8800 8879; fax: +47 8800 8601; http://www.naggum.no User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.5 Mime-Version: 1.0 NNTP-Posting-Date: 30 Mar 2000 08:48:36 GMT Newsgroups: comp.lang.lisp * Andrew Cooke | - If I understood an earlier topic correctly, assigning a value to a | dynamic scoped variable using let copies the original value to a safe | place for the scope of the let before replacing it. In a multi-threaded | environment this implies that the value will change for all threads - is | that correct? let doesn't assign values, it creates a new binding. how it is actually implemented underneath has _some_ implications for the rest of the system, but no matter how it is implemented, you should not assume that the implementation violates the semantics. this implies that the new binding is local to the process (thread), since the other processes (threads) are not in the dynamic scope of the new binding. #:Erik