gpt4 book ai didi

objective-c - NSRunLoop 结束时释放资源

转载 作者:行者123 更新时间:2023-12-03 17:40:50 32 4
gpt4 key购买 nike

我试图在守护进程结束时或者有人退出该进程时释放在守护进程中分配的资源。

可以说,

int main(int argc, const char * argv[])
{
Controller *controller = [[Controller alloc] init];
[controller allocateresources];

[[NSRunLoop currentRunLoop] run];

[controller release];

return 0;
}

这里不会调用Controllerrelease。 Quit [SIGTERM Signal] 只是终止运行循环。如何在应用程序结束时释放 Controller 类中分配的资源?

编辑:我了解系统将收回资源。我想要解决的问题是跨进程协作锁之类的问题。

最佳答案

我认为并不能真正保证您将从 -run 方法中返回。所以你不应该依赖它来释放资源。还有其他方法可以做到这一点。例如,一个非常低级的解决方案是实现 atexit 处理程序

https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/atexit.3.html

并在那里进行必要的锁释放。

关于objective-c - NSRunLoop 结束时释放资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15810368/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com