【发布时间】:2018-05-22 13:35:03
【问题描述】:
是否有统一的 ACE 功能来关闭当前进程中所有现有的反应器、线程、管道等并允许安全退出?例如,如果我有一个严重错误并想优雅地关闭我的进程(并确保它不会卡住)。
调用exit() 不是非常线程安全的,特别是如果有一个反应器正在侦听另一个线程。
【问题讨论】:
是否有统一的 ACE 功能来关闭当前进程中所有现有的反应器、线程、管道等并允许安全退出?例如,如果我有一个严重错误并想优雅地关闭我的进程(并确保它不会卡住)。
调用exit() 不是非常线程安全的,特别是如果有一个反应器正在侦听另一个线程。
【问题讨论】:
ACE_OS::exit()
它不会干净地退出反应器循环,也不会关闭单个句柄,但 OS 进程停止运行非常擅长关闭事物。如果您为响应严重错误而退出,则单独点击每个元素并不重要。
如果您要正确关闭数据库之类的东西,那就不同了 - 您必须为此添加“atexit”类型的处理程序。
【讨论】: