http://qs321.pair.com?node_id=745628


in reply to Re: thread-safe mmap module ?
in thread thread-safe mmap module ?

Indeed.... thats why threads are used .... to facilitate sharing between threads....otherwise just fork. Fork and shared memory are an alternative to threads and threads::shared.

There may be an advantage to using shared memory in threads, notably it is the fastest IPC out there; but there are glitches....like how would you control simultaneous concurrent access to the mmap region from different threads? You are risking data corruption.


I'm not really a human, but I play one on earth My Petition to the Great Cosmic Conciousness

Replies are listed 'Best First'.
Re^3: thread-safe mmap module ?
by jdd (Acolyte) on Feb 22, 2009 at 17:01 UTC
    threads:::shared offers a lock() method that is released outside of the {} scope where it is. To try -;
      Thanks, I've seen that. However, in my design processes in my head, I always prefer to keep thread shared variables read-only from the outside. In otherwords, one thread should not be able to change a variable in another thread, without the target thread knowing(or asking for it). This is better for security, and avoids all chances for a run away condition, where threads are all trying to lock and change a var at the same time....constantly looping....and having their change thwarted millisecs later by another thread. This requires you to have a thread that acts as a main controlller..... like a parent, keeping order among the child threads.

      I'm not really a human, but I play one on earth My Petition to the Great Cosmic Conciousness