一、多線程
談談你對多線程開發的理解?ios中有幾種實現多線程的方法?
好處:
1.使用多線程可以把程序中占據時間長的任務放到后臺去處理,如圖片,視頻的下載;
2.發揮多核處理器的優勢,并發執行讓系統運行的更快,更流暢,用戶體驗更好;
缺點:
1.大量的線程降低代碼的可讀性;
2.更多的線程需要更多的內存空間;
3當多個線程對同一個資源出現爭奪的時候要注意線程安全的問題。
ios有3種多線程編程的技術:1.NSThread,2.NSOperationQueue,3.gcd;
什么是線程安全?線程安全使用場景?
線程安全是指在多線程情況下,由于各個線程都可以操作相同數據,在某些情況下,就會造成某些線程獲取到的數據是錯誤的。所以在某些線程進行數據操作時,需要對數據進行加鎖操作。所以要保證線程安全,就要對數據進行加鎖操作。
那么線程安全的使用場景是怎樣的?簡單來說兩點:一是多個線程訪問同一個資源。二是資源是有狀態的,即數據是會有變化的。