acl
3.5.3.0
aio_delay_free.hpp
浏览该文件的文档.
1
#pragma once
2
#include "../acl_cpp_define.hpp"
3
#include "../stdlib/noncopyable.hpp"
4
5
namespace
acl
6
{
7
8
/**
9
* 需要被延迟释放的类继承此类后,可以调用 aio_handle:delay_free 来到达
10
* 延迟销毁的目的,避免了在递归过程中被立即释放时的对象被提前释放的问题
11
*/
12
class
ACL_CPP_API
aio_delay_free
:
public
noncopyable
13
{
14
public
:
15
aio_delay_free
(
void
);
16
virtual
~
aio_delay_free
(
void
);
17
18
/**
19
* 判定定时器是否正处于锁定状态,处于锁定状态的定时器是
20
* 不能被删除的,否则会造成内存严重错误
21
* @return {bool} 是否处于锁定状态,处于锁定状态的对象是
22
* 不允许被销毁的
23
*/
24
bool
locked(
void
)
const
;
25
26
/**
27
* 允许子类设置子类对象的锁定对象,这样在定时器处理过程中就不会
28
* 自动调用子类对象的销毁过程
29
*/
30
void
set_locked(
void
);
31
32
/**
33
* 允许子类取消类对象的锁定状态
34
*/
35
void
unset_locked(
void
);
36
37
/**
38
* 销毁函数,在内部类 aio_timer_delay_free 对象中对需要做延迟释放
39
* 的类进行销毁
40
*/
41
virtual
void
destroy
(
void
) {}
42
43
private
:
44
bool
locked_;
45
bool
locked_fixed_;
46
};
47
48
}
// namespace acl
acl
Definition:
acl_cpp_init.hpp:4
acl::noncopyable
Definition:
noncopyable.hpp:6
acl::aio_delay_free
Definition:
aio_delay_free.hpp:12
acl::aio_delay_free::destroy
virtual void destroy(void)
Definition:
aio_delay_free.hpp:41
ACL_CPP_API
#define ACL_CPP_API
Definition:
acl_cpp_define.hpp:16
include
acl_cpp
stream
aio_delay_free.hpp
生成于 2021年 九月 10日 星期五 11:14:45 , 为 acl使用
1.8.15