blob: da809ec1269d27a202053070982e3fed6688e7cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
//! [0]
sem = QSemaphore(5) # sem.available() == 5
sem.acquire(3) # sem.available() == 2
sem.acquire(2) # sem.available() == 0
sem.release(5) # sem.available() == 5
sem.release(5) # sem.available() == 10
sem.tryAcquire(1) # sem.available() == 9, returns true
sem.tryAcquire(250) # sem.available() == 9, returns false
//! [0]
//! [1]
sem = QSemaphore(5) # a semaphore that guards 5 resources
sem.acquire(5) # acquire all 5 resources
sem.release(5) # release the 5 resources
sem.release(10) # "create" 10 new resources
//! [1]
//! [2]
sem = QSemaphore(5) # sem.available() == 5
sem.tryAcquire(250) # sem.available() == 5, returns false
sem.tryAcquire(3) # sem.available() == 2, returns true
//! [2]
//! [3]
sem = QSemaphore(5) # sem.available() == 5
sem.tryAcquire(250, 1000) # sem.available() == 5, waits 1000 milliseconds and returns false
sem.tryAcquire(3, 30000) # sem.available() == 2, returns true without waiting
//! [3]
|