Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
src_corelib_kernel_qsystemsemaphore.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
4#include <QSystemSemaphore>
5
6#if QT_CONFIG(systemsemaphore)
7
8void example()
9{
10 {
11 //! [0]
12 QSystemSemaphore sem(QSystemSemaphore::platformSafeKey("market"), 3, QSystemSemaphore::Create);
13 // resources available == 3
14 sem.acquire(); // resources available == 2
15 sem.acquire(); // resources available == 1
16 sem.acquire(); // resources available == 0
17 sem.release(); // resources available == 1
18 sem.release(2); // resources available == 3
19 //! [0]
20 }
21
22 {
23 //! [1]
24 QSystemSemaphore sem(QSystemSemaphore::platformSafeKey("market"), 5, QSystemSemaphore::Create);
25 for (int i = 0; i < 5; ++i) // acquire all 5 resources
26 sem.acquire();
27 sem.release(5); // release the 5 resources
28 //! [1]
29 }
30
31 {
32 QSystemSemaphore sem(QSystemSemaphore::platformSafeKey("market"), 0, QSystemSemaphore::Create);
33
34 //! [2]
35 sem.release(10); // "create" 10 new resources
36 //! [2]
37 }
38}
39
40#endif // systemsemaphore