1933.1.9
by Brian Aker
Additional documentation and testing. |
1 |
User Defined Barriers
|
2 |
=====================
|
|
3 |
||
2194.5.3
by Andrew Hutchings
Markup fixes |
4 |
.. code-block:: mysql |
5 |
||
6 |
SELECT create_barrier(); |
|
7 |
||
8 |
SELECT release_barrier(); |
|
9 |
||
10 |
SELECT wait(); |
|
11 |
||
12 |
SELECT wait_until(); |
|
13 |
||
14 |
SELECT signal(); |
|
1933.1.9
by Brian Aker
Additional documentation and testing. |
15 |
|
2222.2.1
by Mark Atwood
documentation work |
16 |
A barrier is a synchronization object which can be used to synchronize |
17 |
a group of sessions to a specific rendezvous by calling wait(). When |
|
18 |
wait() is called, any session of the user may call signal(), allowing |
|
19 |
all sessions being held by wait() to proceed. |
|
20 |
||
21 |
Barriers can optionally be created with a limit so that once a set |
|
22 |
number of sessions have called wait() that all "waiters" are then |
|
23 |
allowed to proceed. |
|
24 |
||
25 |
The session that creates the barrier via create_barrier() is not |
|
26 |
allowed to call either wait() or wait_until(). |
|
1933.1.9
by Brian Aker
Additional documentation and testing. |
27 |
|
28 |
The scope of barriers is to the given username. |
|
29 |
||
2222.2.1
by Mark Atwood
documentation work |
30 |
Beyond waiters, you can also create observers by using the |
31 |
wait_until() function. Observers are released not only when signal() |
|
32 |
or release_barrier() is called, but also when their definitive |
|
33 |
predicate happens. You can use wait_until() to have a session wait for |
|
34 |
a certain number of waiters to occur, and then do some body of work |
|
35 |
before the waiters() are signaled to continue. |
|
1994.4.69
by Marisa Plumb
edits and more conditional functions |
36 |
|
2222.2.1
by Mark Atwood
documentation work |
37 |
All waiters and observers are released if release_barrier() is called |
38 |
by the session which created the barrier. Also, if the session that |
|
39 |
created the barrier disconnects, all waiters and observers are |
|
40 |
notified. |
|
1994.4.69
by Marisa Plumb
edits and more conditional functions |
41 |
|
42 |
Information on all barriers can be found in the DATA_DICTIONARY.USER_BARRIERS table. |
|
43 |