activemq-cpp-3.8.2
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
21
#include <
decaf/util/concurrent/Mutex.h
>
22
#include <
decaf/util/concurrent/TimeUnit.h
>
23
#include <
decaf/util/Config.h
>
24
#include <
decaf/lang/exceptions/InterruptedException.h
>
25
#include <
decaf/lang/Exception.h
>
26
27
namespace
decaf
{
28
namespace
util{
29
namespace
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_*/
decaf::util::concurrent::CountDownLatch
Definition:
CountDownLatch.h:33
Config.h
Exception.h
decaf::util::concurrent::TimeUnit
A TimeUnit represents time durations at a given unit of granularity and provides utility methods to c...
Definition:
TimeUnit.h:62
Mutex.h
InterruptedException.h
DECAF_API
#define DECAF_API
Definition:
Config.h:29
decaf
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition:
AprPool.h:25
TimeUnit.h
src
main
decaf
util
concurrent
CountDownLatch.h
Generated by
1.8.13