qsemaphore man page on aLinux

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
aLinux logo
[printable version]

QSemaphore(3qt)						       QSemaphore(3qt)

NAME
       QSemaphore - Robust integer semaphore

SYNOPSIS
       All the functions in this class are thread-safe when Qt is built with
       thread support.</p>

       #include <qsemaphore.h>

   Public Members
       QSemaphore ( int maxcount )
       virtual ~QSemaphore ()
       int available () const
       int total () const
       int operator++ ( int )
       int operator-- ( int )
       int operator+= ( int n )
       int operator-= ( int n )
       bool tryAccess ( int n )

DESCRIPTION
       The QSemaphore class provides a robust integer semaphore.

       A QSemaphore can be used to serialize thread execution, in a similar
       way to a QMutex. A semaphore differs from a mutex, in that a semaphore
       can be accessed by more than one thread at a time.

       For example, suppose we have an application that stores data in a large
       tree structure. The application creates 10 threads (commonly called a
       thread pool) to perform searches on the tree. When the application
       searches the tree for some piece of data, it uses one thread per base
       node to do the searching. A semaphore could be used to make sure that
       two threads don't try to search the same branch of the tree at the same
       time.

       A non-computing example of a semaphore would be dining at a restuarant.
       A semaphore is initialized to have a maximum count equal to the number
       of chairs in the restuarant. As people arrive, they want a seat. As
       seats are filled, the semaphore is accessed, once per person. As people
       leave, the access is released, allowing more people to enter. If a
       party of 10 people want to be seated, but there are only 9 seats, those
       10 people will wait, but a party of 4 people would be seated (taking
       the available seats to 5, making the party of 10 people wait longer).

       When a semaphore is created it is given a number which is the maximum
       number of concurrent accesses it will permit. Accesses to the sempahore
       are gained using operator++() or operator+=(), and released with
       operator--() or operator-=(). The number of accesses allowed is
       retrieved with available(), and the total number with total(). Note
       that the incrementing functions will block if there aren't enough
       available accesses. Use tryAccess() if you want to acquire accesses
       without blocking.

       See also Environment Classes and Threading.

MEMBER FUNCTION DOCUMENTATION
QSemaphore::QSemaphore ( int maxcount )
       Creates a new semaphore. The semaphore can be concurrently accessed at
       most maxcount times.

QSemaphore::~QSemaphore () [virtual]
       Destroys the semaphore.

       Warning: If you destroy a semaphore that has accesses in use the
       resultant behavior is undefined.

int QSemaphore::available () const
       Returns the number of accesses currently available to the semaphore.

int QSemaphore::operator++ ( int )
       Postfix ++ operator.

       Try to get access to the semaphore. If available() == 0, this call will
       block until it can get access, i.e. until available() > 0.

int QSemaphore::operator+= ( int n )
       Try to get access to the semaphore. If available() < n, this call will
       block until it can get all the accesses it wants, i.e. until
       available() >= n.

int QSemaphore::operator-- ( int )
       Postfix -- operator.

       Release access of the semaphore. This wakes all threads waiting for
       access to the semaphore.

int QSemaphore::operator-= ( int n )
       Release n accesses to the semaphore.

int QSemaphore::total () const
       Returns the total number of accesses to the semaphore.

bool QSemaphore::tryAccess ( int n )
       Try to get access to the semaphore. If available() < n, this function
       will return FALSE immediately. If available() >= n, this function will
       take n accesses and return TRUE. This function does not block.

SEE ALSO
       http://doc.trolltech.com/qsemaphore.html
       http://www.trolltech.com/faq/tech.html

COPYRIGHT
       Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com.  See the
       license file included in the distribution for a complete license
       statement.

AUTHOR
       Generated automatically from the source code.

BUGS
       If you find a bug in Qt, please report it as described in
       http://doc.trolltech.com/bughowto.html.	Good bug reports help us to
       help you. Thank you.

       The definitive Qt documentation is provided in HTML format; it is
       located at $QTDIR/doc/html and can be read using Qt Assistant or with a
       web browser. This man page is provided as a convenience for those users
       who prefer man pages, although this format is not officially supported
       by Trolltech.

       If you find errors in this manual page, please report them to qt-
       bugs@trolltech.com.  Please include the name of the manual page
       (qsemaphore.3qt) and the Qt version (3.3.8).

Trolltech AS			2 February 2007		       QSemaphore(3qt)
[top]

List of man pages available for aLinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net