Archives
-
Thread pool module for Pike
Async provides a simple process pool that allocates a number of worker threads
that may then be utilized collectively without having to deal directly with
threads. Results of jobs sent to the pool are “future” objects, called Asyncs.
Asyncs’ values are then acquired by calling Async.sync, which blocks until the
value has been set by the pool. A supervisor thread monitors the worker threads
and restarts any that terminate abnormally.Mar 10th, 2009 | Filed under Programming -
Multiprocessing utilities for newLisp
newLisp’s Cilk API simplifies the task for forking new processes and retrieving the results of child processes’ calculations a breeze. Some patterns remain complex, particularly when dealing with shared state or managing access to resources. To formalize some of the more common patterns of usage with the Cilk API, semaphores, and shared memory, I have written a multiprocessing library for newLisp.
Jan 29th, 2009 | Filed under Programming, Software -
An overview of threading in Pike
Pike’s approach to threading is simple and mindful of the sanity of the programmer. Threading is available for all systems using Unix, POSIX, or Windows threads. Submit article
Sep 4th, 2008 | Filed under Programming -
Locking with semaphores in newLISP
Recent development version of newLISP have a new forking mechanism that makes spawning new processes and collecting the results much simpler. Submit article
Jun 4th, 2008 | Filed under Programming -
newLISP to get Cilk-style concurrency
Multi-processing in newLISP can be a chore. All processes must be directly known to any others that will be accessing shared memory, which must be synchronized using semaphores. A new development release of newLISP (9.3.7) will change all that by adding Cilk-style primitives. Submit article
Apr 3rd, 2008 | Filed under ProgrammingTags: concurrency, newlisp