首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XCGLogger线程安全吗?

XCGLogger线程安全吗?
EN

Stack Overflow用户
提问于 2015-04-17 13:14:35
回答 1查看 534关注 0票数 4

我正在考虑使用XCGLogger替换CocoaLumberjack,并想知道是否允许使用根据自述方式在主线程上创建和设置的全局记录器从任何线程记录以下内容?

代码语言:javascript
复制
log.info("This is not a valid format: \(inputStr)")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-17 19:53:01

是的,XCGLogger是线程安全的,但是它使用的是println(),它本身是线程安全的,所以println()的其他调用者可以使它看起来好像XCGLogger本身不安全。

XCGLogger使用队列来确保其调用的所有println()都以线程安全的方式调用和完成。

但是请注意,如果您直接从应用程序的其他地方调用println(),或者另一个库调用,那么这些调用并不是线程安全的,仍然可能会干扰来自XCGLogger的调用。

该项目中有一个单元测试(testMultiThreaded),它显示通过并发队列对XCGLogger的多个调用,并且它们都安全地写入。但是您可以看到,Xcode本身在测试运行时输出有关它们的信息,并且输出可能与日志输出纠缠在一起。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29700264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档