多線程

1. Cocoa中的 NSRunLoop類并不是線程安全的?[A]

A.正確????B.錯(cuò)誤

2. RunLoop的管理并不完全是自動(dòng)的?[A]

A.正確????B.錯(cuò)誤

3. RunLoop同時(shí)也負(fù)責(zé) autorelease pool的創(chuàng)建和釋放?[A]?

A.正確????B.錯(cuò)誤

4.每個(gè)線程不僅僅在創(chuàng)建的過程中需要耗費(fèi)時(shí)間,同時(shí)它也會(huì)占用一定內(nèi)核的內(nèi)存空間和應(yīng)用程序的內(nèi)存空間?[A]

A.正確????????B.錯(cuò)誤

5在iOS中,主線程的棧空間大小是可以修改的?[B]

A.正確????B.錯(cuò)誤

6.iOS應(yīng)用程序子線程的??臻g大小,會(huì)在線程的使用過程中逐漸增加?[A]

A.正確????????B.錯(cuò)誤

7.子線程允許分配的棧空間大小,必須為4KB的整數(shù)倍?[A]

A.正確????????B.錯(cuò)誤

8.線程的優(yōu)先級(jí)屬性 threadPriority是一個(gè)0.0~1.0之間的浮點(diǎn)數(shù),那么1.0表示最高的優(yōu)先級(jí)?[A]

A.正確????B.錯(cuò)誤

9.線程的默認(rèn)的優(yōu)先級(jí)是0.5?[A]

A.正確????????B.錯(cuò)誤

10.優(yōu)先級(jí)較高的線程,一定比優(yōu)先級(jí)較低的線程先執(zhí)行?[B]

A.正確????B.錯(cuò)誤

11.ios應(yīng)用程序的每條線程,都有唯一的 Runloop對(duì)象與之對(duì)應(yīng)?[A]

A.正確????B.錯(cuò)誤

12.子線程的 Runloop需要手動(dòng)創(chuàng)建?[A]

A.正確????B.錯(cuò)誤

13.主線程的 Runloop是自動(dòng)創(chuàng)建并啟動(dòng)的?[A]

A.正確????B.錯(cuò)誤

14. currentRunLoop是延遲加載的,只創(chuàng)建一次?[A]

A.正確????B.錯(cuò)誤

15.使用 Thread創(chuàng)建的線程,將共享同一應(yīng)用程序的部分內(nèi)存空間,它們擁有對(duì)數(shù)據(jù)相同的訪問權(quán)限?[A]

A.正確????B.錯(cuò)誤

16.為了協(xié)調(diào)多個(gè)線程對(duì)同一數(shù)據(jù)的訪問,通常的做法是在訪問之前加鎖,加鎖會(huì)導(dǎo)致一定的性能開銷嗎?[B]

A.不會(huì)????B.會(huì)

17.當(dāng)一個(gè)Lock對(duì)象成功調(diào)用lock方法后,在其調(diào)用 unlock方法之前,任何線程都不能再對(duì)此Lock對(duì)象加鎖?[A]

A.正確????????B.錯(cuò)誤

18. ConditionLock是一種帶有條件的鎖,可以根據(jù)條件對(duì)線程進(jìn)行加鎖?[A]

A.正確????????B.錯(cuò)誤

19.也就是說一個(gè)線程可以對(duì)一個(gè) Recursive對(duì)象多次調(diào)用lock,只要解鎖時(shí)調(diào)用相同次數(shù)的 unlock方法便可。以上是Recursivelock的特征嗎?[B]

A.不是????B.是

20.因?yàn)榫€程是消耗系統(tǒng)資源的,所以需要控制線程的并發(fā)數(shù),以避免系統(tǒng)變慢?[A]? ??

A.是????B.不是

21.由于GCD基于工作單元而非像Thread那樣基于運(yùn)算,所以GCD可以控制諸如等待任務(wù)結(jié)束、監(jiān)視文件描述符、周期執(zhí)行代碼以及工作掛起等任務(wù)?[A]

A.正確????????B.錯(cuò)誤

22.GCD的 dispatch queue調(diào)度隊(duì)列可以是并發(fā)的,也可以是串行的?[A]

A.正確????????B.錯(cuò)誤

23. dispatch_semaphore是GCD用來同步的一種方式嗎?[A]

A.是????????????B.不是

24. NSRecursiveLock是一個(gè)遞歸鎖,這個(gè)鎖可以被同一線程多次請(qǐng)求,而不會(huì)引起死鎖嗎?[A]

A.是????????????B.不是

25.請(qǐng)求加鎖失敗的話, OSSpinLock會(huì)一直輪詢,等待時(shí)會(huì)消耗大量CPU資源,所以 OSSpinLock不適用于較長時(shí)間的任務(wù)?[A]

A.正確 ? ? ? ? ? ?B.錯(cuò)誤

26. NSLock請(qǐng)求加鎖失敗的話,會(huì)先輪詢,但一秒過后便會(huì)使線程進(jìn)λ waiting狀態(tài),等待喚醒。以上說法正確嗎?[A]

A.正確 ? ? ? ? ? ?B.錯(cuò)誤

27. pthread_mutex是基于0C語言的多線程加互斥鎖的方式嗎?[B]

A.是????B.不是

28.下面方法中,哪一個(gè)方法沒有創(chuàng)建新的線程?[D]? ??

A. +(void)detachNewThreadSelector: (SEL) selector to Target: (id)target withObject: (id )argument;

B. -(id)initWithTarget: (id ) target selector: (SEL)selector object: (id )argument;

C. -(void)performSelectorBackground: (SEL)aSelector withObject: (id)arg;

D. -(void)performSelectorOnMainThread: (SEL)aSelector withObject: (id)arg waitUntilDone: (BOOL)wait;

29下列技術(shù)不屬于多線程的是:[A]

A. Block????B. Thread????C. Operation ? ? ? ?D.GCD

30.線程和進(jìn)程的區(qū)別不正確的是:[A]

A.進(jìn)程和線程都是由操作系統(tǒng)所體會(huì)的程序運(yùn)行的基本單元

B.線程之間有單獨(dú)的地址空間

C.進(jìn)程和線程的主要差別在于它們是不同的操作系統(tǒng)資源管理方式

D.線程有自己的堆棧和局部變量

31.對(duì)于 runloop的理解不正確的是:[C]

A.每一個(gè)線程都有其對(duì)應(yīng)的 Runloop

B.默認(rèn)非主線程的 Runloop是沒有運(yùn)行的

C.在一個(gè)單獨(dú)的線程中沒有必要去啟用 Runloop

D.可以將 NSTimer添加到 runloop中

32.以下多線程對(duì)int型變量x的操作,哪個(gè)不需要進(jìn)行同步:[D]

A.x=y????????B.x++????????C.++x????????????D.x=1

33.多線程中棧與堆是公有的還是私有的:[C]

A.棧公有,堆私有????B.棧公有,堆公有????C.棧私有,堆公有????D.棧私有,堆私有

34.下面關(guān)于線程管理錯(cuò)誤的是:[B]

A.GCD所用的開銷要比 NSThread大????B? ? 以在子線程中修改UI元素

C. NSOperationQueue是比 NSThread更高層的封裝????????D.GCD可以根據(jù)不同優(yōu)先級(jí)分配線程

35.Object C中的線程下面描述不正確的是:[B]

A.使用 NSThread創(chuàng)建、使用GCD的 dispatch

B.直接使用 NSOperation,然后將其加入 NSOperationQueue

C.在主線程執(zhí)行代碼,方法是 performSelectorOnMainThread,

D.如果想延時(shí)執(zhí)行代碼可以用 performSelector:on Thread:withObject: waitUntidone:

36.對(duì) NSOperation Queue理解不正確的是:[D]

A.存放 NSOperation的集合類????????????B.可以設(shè)置最大并發(fā)數(shù)

C.放進(jìn)去的線程會(huì)自動(dòng)執(zhí)行????????????????D.用戶需要管理放進(jìn)去的線程執(zhí)行順序

37.在iOS中,主線程的??臻g大小為:[A]

A. IMB????????B. ?4MB????????C. 8MB????????D. 32MB

38.在iOS中,應(yīng)用程序子線程的默認(rèn)??臻g大小為:[B]

A.256 KB????????B. 512 KB????????C. 1 MB????????????D. 4 MB

39.iOS子線程允許分配的最小??臻g是:[C]

A.4 KB ? ?B.8KB ? ?C.16 KB????????D. 32 KB

40.在線程自創(chuàng)建至消亡的整個(gè)生命周期中包含多個(gè)狀態(tài),各狀態(tài)的順序是:[B]

A.創(chuàng)建狀態(tài)就緒狀態(tài)阻塞狀態(tài)運(yùn)行狀態(tài)消亡狀態(tài)

B.創(chuàng)建狀態(tài)就緒狀態(tài)運(yùn)行狀態(tài)阻塞狀態(tài)消亡狀態(tài)

C.就緒狀態(tài)創(chuàng)建狀態(tài)運(yùn)行狀態(tài)阻塞狀態(tài)消亡狀態(tài)

D.就緒狀態(tài)創(chuàng)建狀態(tài)阻塞狀態(tài)運(yùn)行狀態(tài)消亡狀態(tài)

41.子線程的 RunLoop,當(dāng)需要手動(dòng)創(chuàng)建,調(diào)用以下哪個(gè)方法來啟動(dòng)?[單D]

A. start????????B. fire() ?????C.new() ? ? ? ?D.run()

42.為了在同一個(gè)時(shí)間點(diǎn)內(nèi)只執(zhí)行一個(gè)線程,且當(dāng)前一個(gè)線程結(jié)束后才執(zhí)行第二個(gè)線程,需要將隊(duì)列的maxConcurrentOperationCount設(shè)置為:[B]

A. 0????????B. 1?????C.2 ? ? ? ?D.10

43. Grand Central Dispatch(GCD)是由 Apple公司在哪個(gè)iOs版本時(shí),推出的一個(gè)多核編程的解決方案。[A]

A.iOS 4.0????????B.iOS 5.0????????C.iOS 6.0????????D.iOS 7.0

44.GCD的AP很大程度上是和以下唧種技術(shù)配合使用的?[B]

A. delegate????????B. block ? ? ? ?C.kvo???????? ? ?D. kvc

45. Thread多線程技術(shù)是基于什么來實(shí)現(xiàn)多線程的?[A]

A. Thread線程????????B. Queue隊(duì)列????????C. Block閉包????????D.Task任務(wù)

46. Operation多線程技術(shù)是基于什么來實(shí)現(xiàn)多線程的?[B]

A. Thread線程????????B. Queue隊(duì)列????????C. Block閉包????????D.Task任務(wù)

47. Grand Central Dispatch多線程技術(shù)是基于什么來實(shí)現(xiàn)多線程的?[D]

A. Thread線程????????B. Queue隊(duì)列????????C. Block閉包????????D.Task任務(wù)

48. GCD Queue分為哪三種?[[A,B,C]

A. The main queue主隊(duì)列????????????B. Global queues全局并發(fā)隊(duì)列

C.用函數(shù) dispatch_queue_create創(chuàng)建的用戶隊(duì)列????????????D. Default queues默認(rèn)隊(duì)列

49.死鎖有哪些必要條件?[A,B,C,D]

A.互斥????????B.請(qǐng)求保持????????C.不可剝奪????????D.環(huán)路

50.以下哪種方法可以處理死鎖?[A,B,C,D]

A.鴕鳥策略????????B.預(yù)防策????????C.避免策略????????D.檢測(cè)與解除死鎖

51.以下關(guān)于iOS開發(fā)中的多線程概念,描述正確的是:[A,B,C,D]? ??

A. Multithreading多線程是指從軟件或者硬件上,實(shí)現(xiàn)多個(gè)線程并發(fā)執(zhí)行的技術(shù)

B.具有多線程能力的硬件,因?yàn)橛杏布闹С?所以能夠在同一時(shí)間內(nèi)執(zhí)行多于一個(gè)的線程,進(jìn)而提升應(yīng)用程序的整體處理性能

C.多線程能夠同步完成多項(xiàng)任務(wù),不是為了提高運(yùn)行效率,而是為了提高資源使用效率,從而提高應(yīng)用程序的效率。

D.進(jìn)程啟動(dòng)之后,一個(gè)最主要的線程被稱為主線程,主線程會(huì)創(chuàng)建和管理應(yīng)用程序中所有的UI元素。

52. Thread的創(chuàng)建分為顯式和隱式兩種類型,其中顯式方式有哪兩種:[A,D]

A. Thread.delachNewThreadSelector(selector: to Target: with:)

B. object. performSelector(inBackground: with:)

C. object. performSelector(inBackground: afterDelay with:) ? ?

D. Thread.init(target: selector: object)

53.iOS提供了哪些類型的線程鎖:[A,B,C]

A. Lock????????B. RecursiveLock????????C. ConditionLock????????D. UnLock

54.Cocoa operation相關(guān)的類有哪些?[A,C]

A. Operation????B. NSLock????C. Operation Queue????????D. NSThread

55.以下關(guān)于并發(fā)、串行、同步和異步描述正確的是:[A,B,C,D]

A.并發(fā):多個(gè)任務(wù)同時(shí)執(zhí)行????????B.串行:一個(gè)任務(wù)執(zhí)行完成后,再執(zhí)行下一個(gè)任務(wù)

C.同步:在當(dāng)前線程中執(zhí)行任務(wù),不會(huì)開啟新線程

D.異步:在新的線程中執(zhí)行任務(wù)

56.GCD的 dispatch queue調(diào)度隊(duì)列有以下哪三種類型?[A,B,D]

A. The main queue串行隊(duì)列????????????B.Global queues全局隊(duì)列

C.用戶線程隊(duì)列????????????D.子線程隊(duì)列

57. Global queues全局隊(duì)列是并發(fā)隊(duì)列,它包含哪些優(yōu)先級(jí)?[A,B,C,D]

A.高 ? ? ? ?B.中 ? ? ? ?C.低????????????D.后臺(tái)

58. Timer定時(shí)器有哪兩種功能?[A,D]

A.在指定的時(shí)間執(zhí)行指定的任務(wù)。????????B.在指定的時(shí)間范圍內(nèi)執(zhí)行指定的任務(wù)。

C.可以實(shí)現(xiàn)推送通知的任務(wù)。????????D.每隔一段時(shí)間執(zhí)行指定的任務(wù)。

59.以下保持線程同步的方式有哪些?[A,B,C,D]

A. @synchronized????????B. NSLock

C. NSCondition????????????D. pthread_mutex

60. OSSpinLock是一種自旋鎖,它有哪三個(gè)方法?[A,B,D]

A.加鎖????????B.嘗試加鎖????????C.嘗試解鎖????????D.解鎖

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、選擇題 對(duì)以下四種多線程的技術(shù)簡介錯(cuò)誤的是( C )A. pthread是一套通用的多線程API,適用于Uni...
    奮斗的蝸牛閱讀 475評(píng)論 0 1
  • 簡單的整理了一下,多線程的創(chuàng)建方式,它們之間的優(yōu)缺點(diǎn),以及在項(xiàng)目中我們?cè)谑裁礃拥膱?chǎng)景下選擇哪一種方式。水平有限,寫...
    天遙love閱讀 2,332評(píng)論 0 8
  • 1. 線程和進(jìn)程 在了解多線程之前,我們現(xiàn)在熟悉兩個(gè)概念,線程和進(jìn)程. 一. 線程 線程:進(jìn)程的基本執(zhí)行單元,一個(gè)...
    周灬閱讀 399評(píng)論 0 0
  • iOS中多線程的實(shí)現(xiàn)方案 pthread a.特點(diǎn): 1)一套通用的多線程API 2)適用于Unix\Linux\...
    YinLei閱讀 187評(píng)論 0 1
  • 1-- 基本概念 01進(jìn)程 是指在系統(tǒng)中正在運(yùn)行的一個(gè)應(yīng)用程序。每個(gè)進(jìn)程之間是獨(dú)立的,每個(gè)進(jìn)程均運(yùn)行在其專用...
    牧馬人_hlc閱讀 354評(píng)論 2 7

友情鏈接更多精彩內(nèi)容