KTVHTTPCache
KTVHTTPCache copied to clipboard
在后台几分钟再回到前台会死锁
我自己本地没有复现处理,bugly 上的日志在这里。不确定是什么情况下导致 HTTPServer 会被释放掉.
Thread 24
0 libdispatch.dylib | _DISPATCH_WAIT_FOR_QUEUE + 448 |
---|---|
1 libdispatch.dylib | __dispatch_sync_f_slow + 140 |
2 libdispatch.dylib | __dispatch_sync_f_slow + 140 |
3 App | -[HTTPServer stop:] + 168 |
4 App | -[HTTPServer dealloc] + 164 |
5 App | __destroy_helper_block.306 + 24 |
6 libsystem_blocks.dylib | _Block_release + 152 |
7 libdispatch.dylib | __dispatch_client_callout + 16 |
8 libdispatch.dylib | __dispatch_lane_serial_drain$VARIANT$armv81 + 564 |
9 libdispatch.dylib | __dispatch_lane_invoke$VARIANT$armv81 + 400 |
10 libdispatch.dylib | __dispatch_workloop_worker_thread + 576 |
11 libsystem_pthread.dylib | _pthread_wqthread + 276 |
另外看到很多这样的写法,dispatch_sync(serverQueue, ^{ @autoreleasepool {}}); 目的是为了什么呢?同步执行会阻塞,当是主线程调用时,如果 serverQueue 有其他任务,主线程还会被阻塞住