AFAIK it's really only relevant when you're dealing with computationally heavy and long running things that need to be multi threaded/forked to be able to utilize multiple CPU cores. Then these processes might need to coordinate via, or put results in, a shared space.
When it comes to your usual web application I suppose it could be used to cache things, at least that's the use case for me. However this cached data does not need to have very high restrictions on it in my case, ie I don't need STM features (so far). I suppose it would be pretty easy to wrap a memory file, something like this: mkdir /dev/picolisp mount -t tmpfs -o size=10M,mode=0755 tmpfs /dev/picolisp touch /dev/picolisp/data And then a process does touch /dev/picolisp/lock and then works on data, after it's finished it removes the lock file. Any other process first checks if the lock exists before working with the data file. Maybe slow but that's what I could come up with from my limited knowledge of these things. On Thu, Sep 15, 2011 at 6:44 PM, Alexander Burger <[email protected]>wrote: > On Thu, Sep 15, 2011 at 06:22:46PM +0700, Henrik Sarvell wrote: > > This section seems to imply though that it would be possible to implement > > STM between forked processes > > http://www.catb.org/~esr/writings/taoup/html/ch07s02.html#id2922148 (the > > shared memory section) or? > > > > Or maybe it already exists somehow implicit in PicoLisp? > > I would say no, though I don't fully grasp the implications and purpose > of STM. At least shared memory is definitely not supported in public > versions of PicoLisp. > > Cheers, > - Alex > -- > UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe >
