回復「01」歡迎[加入](正在跳轉)iOS高級交流平臺,大家互相交流學習
1、多線程的應用 2、GCD實現多個請求都完成之後返回結果 3、A、B兩個int數組,得到A數組中B數組不包含的元素 4、事件傳遞鏈,頁面上一個按鈕,按鈕和它的superView有一樣的action,為什麼只執行button的action?
5、runtime的應用
6、array中加入對象,對象的retainCount會加1 如何是的對象自己管理自己的生命週期 7、bugly的卡頓監控原理 8、如何架構一個APP 9、c中,malloc對象,傳入了size,free只需要指針,這是為什麼? 10、如何管理移動端團隊,包括幫助大家提高技術 11、資料庫選擇原因(realm 、coreData、FMDB、Sqlite) 12、資料庫做過哪些優化 13、arc情況下,編譯的時候,系統是怎麼添加相關內存管理的代碼 14、腳本打包原理
15、app運行過程中,同時最多有幾個線程,怎麼實現的高並發
1、多線程的應用 一、共享資源 共享資源 : 就是內存中的一塊資源同時被多個進程所訪問,而每個進程可能會對該資源的數據進行修改
問題 : 如果 線程A 訪問了某塊資源 C,並且修改了其中的數據,此時 線程B 也訪問了 資源C,並且也對 C 中的數據進行了修改;那麼等到 線程A 和 線程B 執行結束後,此時,資源C 中的數據就並不是最初的設置了
二、線程通信
通常, 一個線程不應該單獨存在,應該和其他線程之間有關係
例如 : 一個線程完成了自己的任務後需要切換到另一個線程完成某個任務;或者 一個線程將數據傳遞給另一個線程
三、線程的狀態
- 當一個線程對象創建並開啟後,它就會被放到線程調度池中,等待系統調度;如圖