docs/html/Mutex_8h_source.html
| | Jetson Inference
DNN Vision Library |
Mutex.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23 #ifndef __MULTITHREAD_MUTEX_H_
24 #define __MULTITHREAD_MUTEX_H_
25
26 #include <pthread.h>
27
28
36 {
37 public:
41inline Mutex();
42
46inline ~Mutex();
47
52inline bool AttemptLock();
53
58inline void Lock();
59
63inline void Unlock();
64
69inline void Sync();
70
74inline pthread_mutex_t* GetID();
75
76 protected:
78 };
79
80 // inline implementations
81 #include "Mutex.inl"
82
83 #endif
void Lock()
Aquire the lock, whenever it becomes available.
Mutex()
Constructor.
void Unlock()
Release the lock.
void Sync()
Wait for the lock, then release it immediately.
A lightweight mutual exclusion lock.
Definition: Mutex.h:35
pthread_mutex_t mID
Definition: Mutex.h:77
bool AttemptLock()
If the lock is free, aquire it.
~Mutex()
Destructor.
pthread_mutex_t * GetID()
Get the mutex object.