项目打印的 runloop

2019-07-02 23:34:43.633488+0800 Interview03-RunLoop[7330:1174888] <CFRunLoop 0x600001628500 [0x110c72b68]>{wakeup port = 0x9e07, stopped = false, ignoreWakeUps = false,
current mode = kCFRunLoopDefaultMode,
common modes = <CFBasicHash 0x6000024192f0 [0x110c72b68]>{type = mutable set, count = 2,
entries =>
0 : <CFString 0x114199be0 [0x110c72b68]>{contents = “UITrackingRunLoopMode”}
2 : <CFString 0x110c88168 [0x110c72b68]>{contents = “kCFRunLoopDefaultMode”}
}
,
common mode items = <CFBasicHash 0x60000246a9d0 [0x110c72b68]>{type = mutable set, count = 14,
entries =>
0 : <CFRunLoopSource 0x600001f2d200 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 0, info = 0x0, callout = PurpleEventSignalCallback (0x119097188)}}
1 : <CFRunLoopSource 0x600001f2c900 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 0, info = 0x600001f2ca80, callout = __handleEventQueue (0x113950912)}}
4 : <CFRunLoopObserver 0x600001b2cdc0 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2001000, callout = _afterCACommitHandler (0x11388ee75), context = <CFRunLoopObserver context 0x7fa2bed029c0>}
5 : <CFRunLoopSource 0x600001f28300 [0x110c72b68]>{signalled = No, valid = Yes, order = 0, context = {port = 86531, subsystem = 0x1141454b0, context = 0x600002a347c0}}
6 : <CFRunLoopObserver 0x600001b2cc80 [0x110c72b68]>{valid = Yes, activities = 0x1, repeats = Yes, order = -2147483647, callout = _wrapRunLoopWithAutoreleasePoolHandler (0x11385f1b1), context = <CFArray 0x600002464c00 [0x110c72b68]>{type = mutable-small, count = 1, values = (
0 : <0x7fa2c0002058>
)}}
7 : <CFRunLoopObserver 0x600001b2cbe0 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 1999000, callout = _beforeCACommitHandler (0x11388edfc), context = <CFRunLoopObserver context 0x7fa2bed029c0>}
8 : <CFRunLoopObserver 0x600001b294a0 [0x110c72b68]>{valid = Yes, activities = 0x4, repeats = No, order = 0, callout = _runLoopObserverWithBlockContext (0x110962e40), context = <CFRunLoopObserver context 0x600002478240>}
9 : <CFRunLoopSource 0x600001f2c480 [0x110c72b68]>{signalled = Yes, valid = Yes, order = 0, context = {version = 0, info = 0x600000e2a280, callout = FBSSerialQueueRunLoopSourceHandler (0x11c095f0b)}}
10 : <CFRunLoopObserver 0x600001b2caa0 [0x110c72b68]>{valid = Yes, activities = 0x20, repeats = Yes, order = 0, callout = _UIGestureRecognizerUpdateObserver (0x113431473), context = <CFRunLoopObserver context 0x600000129260>}
11 : <CFRunLoopObserver 0x600001b2ca00 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2147483647, callout = _wrapRunLoopWithAutoreleasePoolHandler (0x11385f1b1), context = <CFArray 0x600002464c00 [0x110c72b68]>{type = mutable-small, count = 1, values = (
0 : <0x7fa2c0002058>
)}}
12 : <CFRunLoopSource 0x600001f2cd80 [0x110c72b68]>{signalled = No, valid = Yes, order = 0, context = {port = 31499, subsystem = 0x114133448, context = 0x0}}
13 : <CFRunLoopObserver 0x600001b28500 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2000000, callout = _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv (0x11528d6ae), context = <CFRunLoopObserver context 0x0>}
16 : <CFRunLoopSource 0x600001f2d2c0 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 1, info = 0x9603, callout = PurpleEventCallback (0x119097194)}}
17 : <CFRunLoopSource 0x600001f2cc00 [0x110c72b68]>{signalled = No, valid = Yes, order = -2, context = {version = 0, info = 0x6000024697d0, callout = __handleHIDEventFetcherDrain (0x11395091e)}}
}
,
modes = <CFBasicHash 0x600002419260 [0x110c72b68]>{type = mutable set, count = 4,
entries =>
2 : <CFRunLoopMode 0x60000112c340 [0x110c72b68]>{name = UITrackingRunLoopMode, port set = 0x9903, queue = 0x600000428a00, source = 0x600000428b00 (not fired), timer port = 0x6903,
sources0 = <CFBasicHash 0x60000246aa30 [0x110c72b68]>{type = mutable set, count = 4,
entries =>
0 : <CFRunLoopSource 0x600001f2d200 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 0, info = 0x0, callout = PurpleEventSignalCallback (0x119097188)}}
3 : <CFRunLoopSource 0x600001f2c900 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 0, info = 0x600001f2ca80, callout = __handleEventQueue (0x113950912)}}
5 : <CFRunLoopSource 0x600001f2cc00 [0x110c72b68]>{signalled = No, valid = Yes, order = -2, context = {version = 0, info = 0x6000024697d0, callout = __handleHIDEventFetcherDrain (0x11395091e)}}
6 : <CFRunLoopSource 0x600001f2c480 [0x110c72b68]>{signalled = Yes, valid = Yes, order = 0, context = {version = 0, info = 0x600000e2a280, callout = FBSSerialQueueRunLoopSourceHandler (0x11c095f0b)}}
}
,
sources1 = <CFBasicHash 0x60000246a790 [0x110c72b68]>{type = mutable set, count = 3,
entries =>
0 : <CFRunLoopSource 0x600001f2d2c0 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 1, info = 0x9603, callout = PurpleEventCallback (0x119097194)}}
1 : <CFRunLoopSource 0x600001f28300 [0x110c72b68]>{signalled = No, valid = Yes, order = 0, context = {port = 86531, subsystem = 0x1141454b0, context = 0x600002a347c0}}
2 : <CFRunLoopSource 0x600001f2cd80 [0x110c72b68]>{signalled = No, valid = Yes, order = 0, context = {port = 31499, subsystem = 0x114133448, context = 0x0}}
}
,
observers = (
“<CFRunLoopObserver 0x600001b2cc80 [0x110c72b68]>{valid = Yes, activities = 0x1, repeats = Yes, order = -2147483647, callout = _wrapRunLoopWithAutoreleasePoolHandler (0x11385f1b1), context = <CFArray 0x600002464c00 [0x110c72b68]>{type = mutable-small, count = 1, values = (\n\t0 : <0x7fa2c0002058>\n)}}”,
“<CFRunLoopObserver 0x600001b2caa0 [0x110c72b68]>{valid = Yes, activities = 0x20, repeats = Yes, order = 0, callout = _UIGestureRecognizerUpdateObserver (0x113431473), context = <CFRunLoopObserver context 0x600000129260>}”,
“<CFRunLoopObserver 0x600001b294a0 [0x110c72b68]>{valid = Yes, activities = 0x4, repeats = No, order = 0, callout = _runLoopObserverWithBlockContext (0x110962e40), context = <CFRunLoopObserver context 0x600002478240>}”,
“<CFRunLoopObserver 0x600001b2cbe0 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 1999000, callout = _beforeCACommitHandler (0x11388edfc), context = <CFRunLoopObserver context 0x7fa2bed029c0>}”,
“<CFRunLoopObserver 0x600001b28500 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2000000, callout = _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv (0x11528d6ae), context = <CFRunLoopObserver context 0x0>}”,
“<CFRunLoopObserver 0x600001b2cdc0 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2001000, callout = _afterCACommitHandler (0x11388ee75), context = <CFRunLoopObserver context 0x7fa2bed029c0>}”,
“<CFRunLoopObserver 0x600001b2ca00 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2147483647, callout = _wrapRunLoopWithAutoreleasePoolHandler (0x11385f1b1), context = <CFArray 0x600002464c00 [0x110c72b68]>{type = mutable-small, count = 1, values = (\n\t0 : <0x7fa2c0002058>\n)}}”
),
timers = (null),
currently 583774484 (96065313975378) / soft deadline in: 1.8446648e+10 sec (@ -1) / hard deadline in: 1.8446648e+10 sec (@ -1)
},
3 : <CFRunLoopMode 0x60000112c410 [0x110c72b68]>{name = GSEventReceiveRunLoopMode, port set = 0x9803, queue = 0x600000428b80, source = 0x600000428c80 (not fired), timer port = 0x9703,
sources0 = <CFBasicHash 0x60000246ae80 [0x110c72b68]>{type = mutable set, count = 1,
entries =>
0 : <CFRunLoopSource 0x600001f2d200 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 0, info = 0x0, callout = PurpleEventSignalCallback (0x119097188)}}
}
,
sources1 = <CFBasicHash 0x60000246aeb0 [0x110c72b68]>{type = mutable set, count = 1,
entries =>
0 : <CFRunLoopSource 0x600001f2db00 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 1, info = 0x9603, callout = PurpleEventCallback (0x119097194)}}
}
,
observers = (null),
timers = (null),
currently 583774484 (96065318091490) / soft deadline in: 1.8446648e+10 sec (@ -1) / hard deadline in: 1.8446648e+10 sec (@ -1)
},

4 : <CFRunLoopMode 0x600001128410 [0x110c72b68]>{name = kCFRunLoopDefaultMode, port set = 0x9f0b, queue = 0x60000042d900, source = 0x60000042de80 (not fired), timer port = 0x9d07, 
sources0 = <CFBasicHash 0x60000246ac70 [0x110c72b68]>{type = mutable set, count = 4,

entries =>
0 : <CFRunLoopSource 0x600001f2d200 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 0, info = 0x0, callout = PurpleEventSignalCallback (0x119097188)}}
3 : <CFRunLoopSource 0x600001f2c900 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 0, info = 0x600001f2ca80, callout = __handleEventQueue (0x113950912)}}
5 : <CFRunLoopSource 0x600001f2cc00 [0x110c72b68]>{signalled = No, valid = Yes, order = -2, context = {version = 0, info = 0x6000024697d0, callout = __handleHIDEventFetcherDrain (0x11395091e)}}
6 : <CFRunLoopSource 0x600001f2c480 [0x110c72b68]>{signalled = Yes, valid = Yes, order = 0, context = {version = 0, info = 0x600000e2a280, callout = FBSSerialQueueRunLoopSourceHandler (0x11c095f0b)}}
}
,
sources1 = <CFBasicHash 0x60000246ac10 [0x110c72b68]>{type = mutable set, count = 3,
entries =>
0 : <CFRunLoopSource 0x600001f2d2c0 [0x110c72b68]>{signalled = No, valid = Yes, order = -1, context = {version = 1, info = 0x9603, callout = PurpleEventCallback (0x119097194)}}
1 : <CFRunLoopSource 0x600001f28300 [0x110c72b68]>{signalled = No, valid = Yes, order = 0, context = {port = 86531, subsystem = 0x1141454b0, context = 0x600002a347c0}}
2 : <CFRunLoopSource 0x600001f2cd80 [0x110c72b68]>{signalled = No, valid = Yes, order = 0, context = {port = 31499, subsystem = 0x114133448, context = 0x0}}
}
,
observers = (
“<CFRunLoopObserver 0x600001b2cc80 [0x110c72b68]>{valid = Yes, activities = 0x1, repeats = Yes, order = -2147483647, callout = _wrapRunLoopWithAutoreleasePoolHandler (0x11385f1b1), context = <CFArray 0x600002464c00 [0x110c72b68]>{type = mutable-small, count = 1, values = (\n\t0 : <0x7fa2c0002058>\n)}}”,
“<CFRunLoopObserver 0x600001b2caa0 [0x110c72b68]>{valid = Yes, activities = 0x20, repeats = Yes, order = 0, callout = _UIGestureRecognizerUpdateObserver (0x113431473), context = <CFRunLoopObserver context 0x600000129260>}”,
“<CFRunLoopObserver 0x600001b294a0 [0x110c72b68]>{valid = Yes, activities = 0x4, repeats = No, order = 0, callout = _runLoopObserverWithBlockContext (0x110962e40), context = <CFRunLoopObserver context 0x600002478240>}”,
“<CFRunLoopObserver 0x600001b2cbe0 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 1999000, callout = _beforeCACommitHandler (0x11388edfc), context = <CFRunLoopObserver context 0x7fa2bed029c0>}”,
“<CFRunLoopObserver 0x600001b28500 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2000000, callout = _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv (0x11528d6ae), context = <CFRunLoopObserver context 0x0>}”,
“<CFRunLoopObserver 0x600001b2cdc0 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2001000, callout = _afterCACommitHandler (0x11388ee75), context = <CFRunLoopObserver context 0x7fa2bed029c0>}”,
“<CFRunLoopObserver 0x600001b2ca00 [0x110c72b68]>{valid = Yes, activities = 0xa0, repeats = Yes, order = 2147483647, callout = _wrapRunLoopWithAutoreleasePoolHandler (0x11385f1b1), context = <CFArray 0x600002464c00 [0x110c72b68]>{type = mutable-small, count = 1, values = (\n\t0 : <0x7fa2c0002058>\n)}}”
),
timers = <CFArray 0x600000e2e580 [0x110c72b68]>{type = mutable-small, count = 2, values = (
0 : <CFRunLoopTimer 0x600001f2eb80 [0x110c72b68]>{valid = Yes, firing = No, interval = 0.5, tolerance = 0, next fire date = 583774484 (0.481926918 @ 96065803108507), callout = (NSTimer) [UITextSelectionView caretBlinkTimerFired:] (0x10fa4182e / 0x10f73b737) (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore), context = <CFRunLoopTimer context 0x600002a66a40>}
1 : <CFRunLoopTimer 0x600001f28f00 [0x110c72b68]>{valid = Yes, firing = No, interval = 0, tolerance = 0, next fire date = 583774485 (1.35752892 @ 96066679167470), callout = (Delayed Perform) UIApplication _accessibilitySetUpQuickSpeak (0x10fa2327d / 0x112ef0fb9) (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore), context = <CFRunLoopTimer context 0x600003f69140>}
)},
currently 583774484 (96065318166629) / soft deadline in: 0.484941856 sec (@ 96065803108507) / hard deadline in: 0.484941807 sec (@ 96065803108507)
},

5 : <CFRunLoopMode 0x60000112c680 [0x110c72b68]>{name = kCFRunLoopCommonModes, port set = 0x710b, queue = 0x60000042bc00, source = 0x60000042bd00 (not fired), timer port = 0x6c0f, 
sources0 = (null),
sources1 = (null),
observers = (null),
timers = (null),
currently 583774484 (96065321771539) / soft deadline in: 1.8446648e+10 sec (@ -1) / hard deadline in: 1.8446648e+10 sec (@ -1)

},

}
}

struct __CFRunLoopMode {
CFStringRef _name; // Mode Name, 例如 @“kCFRunLoopDefaultMode”
CFMutableSetRef _sources0; // Set
CFMutableSetRef _sources1; // Set
CFMutableArrayRef _observers; // Array
CFMutableArrayRef _timers; // Array

};

// runloop 结构体
struct __CFRunLoop {
CFMutableSetRef _commonModes; // Set
CFMutableSetRef _commonModeItems; // Set<Source/Observer/Timer>
CFRunLoopModeRef _currentMode; // Current Runloop Mode
CFMutableSetRef _modes; // Set

};

_commonModes : 对应上文中的(指的是UITrackingRunLoopMode 和 kCFRunLoopDefaultMode, 是字符串集合)

_commonModeItems 对应上文中的 (指的是同时在 UITrackingRunLoopMode 和 kCFRunLoopDefaultMode 两个 mode 中所有 source, timer, observer, 是 source, timer, observer 的集合)

_currentMode 对应上文中的(指的是当前的 Mode 是一个CFRunLoopModeRef)

_modes(指的某个 Mode 下的所有CFRunLoopModeRef, 是 CFRunLoopModeRef 集合)

CFRunLoopModeRef 是 (source 集合, timer数组, observer 数组)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值