日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS之深入解析Runloop的底层原理

發布時間:2024/5/28 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS之深入解析Runloop的底层原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Runloop 簡介

① 什么是 Runloop ?
  • RunLoop 是事件接收和分發機制的一個實現,是線程相關的基礎框架的一部分,一個 RunLoop 就是一個事件處理的循環,用來不停的調度工作以及處理輸入事件。
  • Runloop 不僅僅是一個運行循環(do-while 循環),也是提供了一個入口函數的對象,消息機制處理模式,運行循環從兩種不同類型的源接收事件。
  • 輸入源提供異步事件,通常是來自另一個線程或來自不同應用程序的消息。定時器源提供同步事件,發生在預定時間或重復間隔。
  • 兩種類型的源都使用特定于應用程序的處理程序例程來處理事件。除了處理輸入源之外,Runloop 還會生成有關 Runloop 行為的通知。
  • 已注冊的運行循環觀察器可以接收這些通知并使用它們在線程上執行其他處理。
② Runloop 作用
  • 當啟動一個 iOS APP 時主線程啟動與其對應的 RunLoop 也已經開啟,如果不殺掉 APP 則會一直運行,就是因為 RunLoop 循環一直為開啟狀態保證主線程不會被摧毀,這也是 RunLoop 的作用之一:保證線程不退出,保持程序的持續運行
  • RunLoop 在循環過程中監聽事件,當前線程有任務時,喚醒當當前線程去執行任務,任務執行完成以后,使當前線程進入休眠狀態。當然這里的休眠不同于我們寫的死循環 while(1),它在休眠時幾乎不會占用系統資源,這是由操作系統內核去負責實現的。
  • 處理 App 中的各種事件(觸摸、定時器、perfor
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的iOS之深入解析Runloop的底层原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。