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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

iOS之深入解析dispatch source的原理与功能

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

一、dispatch source 和 runLoop source

  • dispatch source 和 runLoop source 都是用來監聽事件的,可以創建不同類型的 dispatch source 和 runLoop source 。
  • dispatch source 監聽到事件產生時,會將 event handler 添加到目標 queue。
  • runLoop source 需要先按照某種模式加入到指定線程的 runLoop 中。
  • dispatch source 和 runLoop source 都是異步處理模式,只要創建、設置好,就可以在相應的 handler 中監聽到相應事件的產生。

二、dispatch source 與內核

  • GCD 中除了主要的 Dispatch Queue 外, 還有不太引人注目的Dispatch Source(信號源)。它是BSD系內核慣有功能 kqueue 的包裝。
  • BSD (Berkeley Software Distribution, 伯克利軟件套件):是Unix 的衍生系統。例如: OpenBSD、 FreeBSD、macOS。
  • kqueue(kernel queue)內核隊列:最初是2000年Jonathan Lemon在 FreeBSD 系統上開發的一個高性能的事件通知接口,是用來實現 IO 多路復用。注冊一批描述符注冊到 kqueue 以后(被封裝成kevent) ,當其中的描述符狀態發生變化時,kqueue 將一次性通知應用程序哪些描述符可讀、可寫或出錯了。kqueue 支持多種類型的文件描述符, 包括socket 、文件狀態、進程通訊等。kqueue 可以說是應用程序處理 XNU 內核中發生的各種事件的方法中最優秀的一種。其CPU 負荷非常

總結

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

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