From: Volkan YAZICI
Subject: Concurrent Function/Method/Variable Redifinition
Date: 
Message-ID: <80001cb9-591a-42cd-bba1-23df2c8f2ded@a70g2000hsh.googlegroups.com>
Hi,

Will there be any concurrency problem to redifine a FMV (function/
method/variable) where multiple threads have read-only access to the
related FMV at the same time? Must I use some sort of locking scheme
while altering value of related FMV to avoid from stepping into
another thread's toe?

AFAIU, CLHS doesn't mention much about concurrency stuff. Am I
mistaken or do you recommend me some other way/resource to get
concurrency related information about Common Lisp?


Regards.

From: Jeff
Subject: Re: Concurrent Function/Method/Variable Redifinition
Date: 
Message-ID: <398232f6-df01-4e1c-bdaf-2361003fb735@2g2000hsn.googlegroups.com>
On Jul 12, 3:05 am, Volkan YAZICI <·············@gmail.com> wrote:
> Hi,
>
> Will there be any concurrency problem to redifine a FMV (function/
> method/variable) where multiple threads have read-only access to the
> related FMV at the same time? Must I use some sort of locking scheme
> while altering value of related FMV to avoid from stepping into
> another thread's toe?
>
> AFAIU, CLHS doesn't mention much about concurrency stuff. Am I
> mistaken or do you recommend me some other way/resource to get
> concurrency related information about Common Lisp?
>
> Regards.

Common Lisp does not define concurrency primitives.  Your lisp
implementation might (many do).  Check your implementation's
documentation or look into the Bordeaux Threads and Portable Threads
projects.
From: Volkan YAZICI
Subject: Re: Concurrent Function/Method/Variable Redifinition
Date: 
Message-ID: <99e0724f-c656-4abc-b63d-4e380e6f4824@e53g2000hsa.googlegroups.com>
On Jul 12, 10:44 pm, Jeff <········@gmail.com> wrote:
> Common Lisp does not define concurrency primitives. Your lisp
> implementation might (many do). Check your implementation's
> documentation or look into the Bordeaux Threads and Portable Threads
> projects.

I want my code to be portable. Is that mean using locking mechanisms
is my only chance to guarantee the correctness of my program across
(almost) every possible Common Lisp implementation?


Regards.
From: Pascal Costanza
Subject: Re: Concurrent Function/Method/Variable Redifinition
Date: 
Message-ID: <6durfgF4f2l7U1@mid.individual.net>
Volkan YAZICI wrote:
> On Jul 12, 10:44 pm, Jeff <········@gmail.com> wrote:
>> Common Lisp does not define concurrency primitives. Your lisp
>> implementation might (many do). Check your implementation's
>> documentation or look into the Bordeaux Threads and Portable Threads
>> projects.
> 
> I want my code to be portable. Is that mean using locking mechanisms
> is my only chance to guarantee the correctness of my program across
> (almost) every possible Common Lisp implementation?

Yes. Or you could use some high-level abstractions, like cl-muproc, or so.


Pascal

-- 
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/