activemq-cpp-3.9.5
CountDownLatch.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_COUNTDOWNLATCH_H_
19#define _DECAF_CONCURRENT_COUNTDOWNLATCH_H_
20
23#include <decaf/util/Config.h>
26
27namespace decaf{
28namespace util{
29namespace concurrent{
30
31 class LatchSync;
32
33 class DECAF_API CountDownLatch {
34 private:
35
36 LatchSync* sync;
37
38 private:
39
40 CountDownLatch(const CountDownLatch&);
41 CountDownLatch& operator= (const CountDownLatch&);
42
43 public:
44
49 CountDownLatch(int count);
50
51 virtual ~CountDownLatch();
52
76 virtual void await();
77
108 virtual bool await(long long timeOut);
109
141 virtual bool await(long long timeout, const TimeUnit& unit);
142
147 virtual void countDown();
148
153 virtual int getCount() const;
154
161 virtual std::string toString() const;
162
163 };
164
165}}}
166
167#endif /*_DECAF_CONCURRENT_COUNTDOWNLATCH_H_*/
virtual bool await(long long timeout, const TimeUnit &unit)
Causes the current thread to wait until the latch has counted down to zero, unless the thread is inte...
virtual void await()
Causes the current thread to wait until the latch has counted down to zero, unless the thread is inte...
virtual int getCount() const
Gets the current count.
virtual void countDown()
Counts down the latch, releasing all waiting threads when the count hits zero.
CountDownLatch(int count)
Constructor.
virtual std::string toString() const
Returns the string representation of this latch, includes the current count value at the time of call...
virtual bool await(long long timeOut)
Causes the current thread to wait until the latch has counted down to zero, unless the thread is inte...
A TimeUnit represents time durations at a given unit of granularity and provides utility methods to c...
Definition TimeUnit.h:62
#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