【问题标题】:ACE graceful exit() functionACE 优雅的 exit() 函数
【发布时间】:2018-05-22 13:35:03
【问题描述】:

是否有统一的 ACE 功能来关闭当前进程中所有现有的反应器、线程、管道等并允许安全退出?例如,如果我有一个严重错误并想优雅地关闭我的进程(并确保它不会卡住)。

调用exit() 不是非常线程安全的,特别是如果有一个反应器正在侦听另一个线程。

【问题讨论】:

    标签: exit ace


    【解决方案1】:
    ACE_OS::exit()
    

    它不会干净地退出反应器循环,也不会关闭单个句柄,但 OS 进程停止运行非常擅长关闭事物。如果您为响应严重错误而退出,则单独点击每个元素并不重要。

    如果您要正确关闭数据库之类的东西,那就不同了 - 您必须为此添加“atexit”类型的处理程序。

    【讨论】:

    • 我主要关心的是进程变成僵尸(实际上发生了几次),同时卡在反应器的事件循环中。我会用 ACE_OS::exit() 检查它是否有效。谢谢!
    猜你喜欢
    • 2011-02-14
    • 2012-08-26
    • 1970-01-01
    • 2021-03-15
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多