This is the mail archive of the pthreads-win32@sourceware.org mailing list for the pthreas-win32 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Good Algorithm for "Multiple Readers"/"Multiple Writers"


Multiple writers doesn't make any sense at all to me, unless you mean a
message queue.  I copied a good algorithm for this out of the POSA2 book
(Pattern Oriented Software Architecture Volume 2, Patterns for Concurrent
and Networked Objects).

Robert Kindred

> -----Original Message-----
> From: pthreads-win32-owner@sourceware.org
> [mailto:pthreads-win32-owner@sourceware.org]On Behalf Of Stephen Croall
> Sent: Thursday, December 08, 2005 8:08 AM
> To: Evstiounin, Mikhail; pthreads-win32@sources.redhat.com
> Subject: RE: Good Algorithm for "Multiple Readers"/"Multiple Writers"
>
>
>
> We already use read/write locks in places but for greater parallelism
> multiple reader and multiple writer locks would be better.
>
> The current read/write lock implementation in POSIX doesn't support
> multiple writers.  Only one writer thread can process at a time - as I
> would expect.
>
> I'm after a good model for writing a "many readers"/"many writers" lock
> implementation, which is portable from Windows to UNIX.
>
> Steve.
>
> -----Original Message-----
> From: Evstiounin, Mikhail [mailto:Mikhail.Evstiounin@ca.com]
> Sent: 08 December 2005 14:02
> To: Stephen Croall; pthreads-win32@sources.redhat.com
> Subject: RE: Good Algorithm for "Multiple Readers"/"Multiple Writers"
>
> I did not quite get it. The difference between reader and writer is that
> reader locks out writer and lets other readers continue without waiting
> while writer acquire an exclusive lock. Multiple writers will have
> serialized access to a resource in any case. So, there no difference
> from this point of view between "one writer -- many readers" and "many
> writers -- many readers". So, if you are going to use FIFO (or you don't
> care -- I made an assumption that all requests for resource locking is
> based on FIFO which is not true, generally speaking) in terms of how to
> process request queue then posix approach is enough.
>
> -----Original Message-----
> From: pthreads-win32-owner@sourceware.org
> [mailto:pthreads-win32-owner@sourceware.org] On Behalf Of Stephen Croall
> Sent: Thursday, December 08, 2005 4:57 AM
> To: pthreads-win32@sources.redhat.com
> Subject: RE: Good Algorithm for "Multiple Readers"/"Multiple Writers"
>
>
> Thanks, but the POSIX read/write interface supports a single writer vs.
> multiple readers.  I'm after multiple writers & readers i.e. multiple
> threads can perform writing but readers must wait and vice versa.
>
> Steve.
>
> -----Original Message-----
> From: Rustam T. Usmanov [mailto:rustam@unilib.neva.ru]
> Sent: 08 December 2005 09:54
> To: Stephen Croall
> Subject: Re: Good Algorithm for "Multiple Readers"/"Multiple Writers"
>
> On Thu, 8 Dec 2005, Stephen Croall wrote:
>
> > Is anyone aware of whether POSIX implements this type of lock?
>
> pthread_rwlock ? See
> http://www.opengroup.org/onlinepubs/009695399/functions/pthread_rwlock_i
> nit.html
>
> --
> Rustam Usmanov, systems engineer
> Institute of Consortia Library Information Systems,
> St.Petersburg State Polytechnic University
> Address:  29, Politekhnitcheskaya str., St.Petersburg, 195251, Russia
> Tel/fax: +7 812 552 7654        <URL:http://www.unilib.neva.ru/olsc/>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]