I am unfamiliar with threads but I believe that I will need to use
them in a program I am writing. I am using SBCL and the program will
also have to work with Allegro. Is there any suggested way of using
threads that will work with both. It seems that the SBCL manual refers
to a package called sb-thread, which I am guessing is not available on
Allegro. Any suggestions? Thanks.
Jeff wrote:
> You could look at Bordeau Threads, which is a unified threads library:
>
> http://common-lisp.net/project/bordeaux-threads/
I prefer the portable-threads library of GBBopen. It seems better
maintained and also supports single-threaded implementations: It does
something reasonable where it can, for example for locking (which are
essentially no-ops in single-threaded implementations), and throws
exceptions only for operations that don't make sense (like spawn).
Pascal
--
1st European Lisp Symposium (ELS'08)
http://prog.vub.ac.be/~pcostanza/els08/
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/
On Mon, 07 Apr 2008 22:17:15 +0200, Pascal Costanza wrote:
> Jeff wrote:
>> You could look at Bordeau Threads, which is a unified threads library:
>>
>> http://common-lisp.net/project/bordeaux-threads/
>
> I prefer the portable-threads library of GBBopen. It seems better
> maintained and also supports single-threaded implementations: It does
> something reasonable where it can, for example for locking (which are
> essentially no-ops in single-threaded implementations), and throws
> exceptions only for operations that don't make sense (like spawn).
bordeaux-threads does that too
alien_guy wrote:
> On Mon, 07 Apr 2008 22:17:15 +0200, Pascal Costanza wrote:
>
>> Jeff wrote:
>>> You could look at Bordeau Threads, which is a unified threads library:
>>>
>>> http://common-lisp.net/project/bordeaux-threads/
>> I prefer the portable-threads library of GBBopen. It seems better
>> maintained and also supports single-threaded implementations: It does
>> something reasonable where it can, for example for locking (which are
>> essentially no-ops in single-threaded implementations), and throws
>> exceptions only for operations that don't make sense (like spawn).
>
> bordeaux-threads does that too
Unless the description on the bordeaux-threads project page is out of
date, that's not true. It explicitly mentions that clisp is not
supported and explains that the reason is that clisp doesn't have
multi-threading.
GBBopen's portable-threads supports clisp, and it's really convenient
that I don't have to do my own special-casing for clisp in my code.
(In ContextL, I don't have to spawn any threads myself, but I have to
make sure that some operations are thread-safe. I just put in the
appropriate locks, and it just works, including on clisp.)
Pascal
--
1st European Lisp Symposium (ELS'08)
http://prog.vub.ac.be/~pcostanza/els08/
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/
On Tue, 08 Apr 2008 00:50:37 +0200, Pascal Costanza wrote:
> Unless the description on the bordeaux-threads project page is out of
> date, that's not true. It explicitly mentions that clisp is not
> supported and explains that the reason is that clisp doesn't have
> multi-threading.
Where ?
> GBBopen's portable-threads supports clisp, and it's really convenient
> that I don't have to do my own special-casing for clisp in my code.
>
> (In ContextL, I don't have to spawn any threads myself, but I have to
> make sure that some operations are thread-safe. I just put in the
> appropriate locks, and it just works, including on clisp.)
The same in bordeaux-threads.
On Apr 7, 8:17 pm, alien_guy <····@l.org> wrote:
> On Tue, 08 Apr 2008 00:50:37 +0200, Pascal Costanza wrote:
> > Unless the description on the bordeaux-threads project page is out of
> > date, that's not true. It explicitly mentions that clisp is not
> > supported and explains that the reason is that clisp doesn't have
> > multi-threading.
>
> Where ?
>
> > GBBopen's portable-threads supports clisp, and it's really convenient
> > that I don't have to do my own special-casing for clisp in my code.
>
> > (In ContextL, I don't have to spawn any threads myself, but I have to
> > make sure that some operations are thread-safe. I just put in the
> > appropriate locks, and it just works, including on clisp.)
>
> The same in bordeaux-threads.
"On threadless implementations, some forms (like those related to
locks) are no-ops, others (like the make-thread) signal an error." <
http://common-lisp.net/project/bordeaux-threads/ >
alien_guy wrote:
> On Tue, 08 Apr 2008 00:50:37 +0200, Pascal Costanza wrote:
>> Unless the description on the bordeaux-threads project page is out of
>> date, that's not true. It explicitly mentions that clisp is not
>> supported and explains that the reason is that clisp doesn't have
>> multi-threading.
>
> Where ?
Not anymore. Yesterday, it was still like this:
http://web.archive.org/web/20070821175258/http://common-lisp.net/project/bordeaux-threads/
So someone has updated the project page. That's good.
>> GBBopen's portable-threads supports clisp, and it's really convenient
>> that I don't have to do my own special-casing for clisp in my code.
>>
>> (In ContextL, I don't have to spawn any threads myself, but I have to
>> make sure that some operations are thread-safe. I just put in the
>> appropriate locks, and it just works, including on clisp.)
>
> The same in bordeaux-threads.
That's good.
Pascal
--
1st European Lisp Symposium (ELS'08)
http://prog.vub.ac.be/~pcostanza/els08/
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/
On Tue, 08 Apr 2008 09:54:19 +0200, Pascal Costanza wrote:
> alien_guy wrote:
>> On Tue, 08 Apr 2008 00:50:37 +0200, Pascal Costanza wrote:
>>> Unless the description on the bordeaux-threads project page is out of
>>> date, that's not true. It explicitly mentions that clisp is not
>>> supported and explains that the reason is that clisp doesn't have
>>> multi-threading.
>>
>> Where ?
>
> Not anymore. Yesterday, it was still like this:
>
> http://web.archive.org/web/20070821175258/http://common-lisp.net/project/bordeaux-threads/
>
> So someone has updated the project page. That's good.
>
Haha - Heisenbug. Mentioning something on C.L.L. changes it ...
Cheers, RalfD
dstein64 <········@gmail.com> writes:
> I am unfamiliar with threads but I believe that I will need to use
> them in a program I am writing. I am using SBCL and the program will
> also have to work with Allegro. Is there any suggested way of using
> threads that will work with both. It seems that the SBCL manual refers
> to a package called sb-thread, which I am guessing is not available on
> Allegro. Any suggestions? Thanks.
bordeaux-threads
Have a look at http://www.cliki.net/
--
__Pascal Bourguignon__ http://www.informatimago.com/
CONSUMER NOTICE: Because of the "uncertainty principle," it is
impossible for the consumer to simultaneously know both the precise
location and velocity of this product.