activemq-cpp-3.9.5
Mutex.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _DECAF_CONCURRENT_MUTEX_H_
19#define _DECAF_CONCURRENT_MUTEX_H_
20
23#include <decaf/lang/Thread.h>
24#include <decaf/util/Config.h>
25
26namespace decaf {
27namespace util {
28namespace concurrent {
29
30 class MutexProperties;
31
39 class DECAF_API Mutex: public Synchronizable {
40 private:
41
42 MutexProperties* properties;
43
44 private:
45
46 Mutex(const Mutex& src);
47 Mutex& operator=(const Mutex& src);
48
49 public:
50
52
53 Mutex(const std::string& name);
54
55 virtual ~Mutex();
56
57 std::string getName() const;
58
59 std::string toString() const;
60
61 bool isLocked() const;
62
63 public:
64
65 virtual void lock();
66
67 virtual bool tryLock();
68
69 virtual void unlock();
70
71 virtual void wait();
72
73 virtual void wait(long long millisecs);
74
75 virtual void wait(long long millisecs, int nanos);
76
77 virtual void notify();
78
79 virtual void notifyAll();
80
81 };
82
83}}}
84
85#endif /*_DECAF_CONCURRENT_MUTEX_H_*/
Mutex(const std::string &name)
virtual void wait(long long millisecs, int nanos)
Waits on a signal from this object, which is generated by a call to Notify.
virtual void wait(long long millisecs)
Waits on a signal from this object, which is generated by a call to Notify.
virtual void lock()
Locks the object.
virtual void notifyAll()
Signals the waiters on this object that it can now wake up and continue.
virtual bool tryLock()
Attempts to Lock the object, if the lock is already held by another thread than this method returns f...
virtual void unlock()
Unlocks the object.
virtual void wait()
Waits on a signal from this object, which is generated by a call to Notify.
virtual void notify()
Signals a waiter on this object that it can now wake up and continue.
std::string toString() const
std::string getName() const
The interface for all synchronizable objects (that is, objects that can be locked and unlocked).
Definition Synchronizable.h:37
#define DECAF_API
Definition Config.h:29
Definition AbstractExecutorService.h:28
Definition AbstractCollection.h:33
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25