iOS面试题:多线程的应用

一、共享资源

共享资源 : 就是内存中的一块资源同时被多个线程所访问,而每个线程可能会对该资源的数据进行修改

问题 : 如果 线程A 访问了某块资源 C,并且修改了其中的数据,此时 线程B 也访问了 资源C,并且也对 C 中的数据进行了修改;那么等到 线程A 和 线程B 执行结束后,此时,资源C 中的数据就并不是最初的设置了

二、线程通信
通常, 一个线程不应该单独存在,应该和其他线程之间有关系

例如 : 一个线程完成了自己的任务后需要切换到另一个线程完成某个任务;或者 一个线程将数据传递给另一个线程

三、线程的状态

  • 当一个线程对象创建并开启后,它就会被放到线程调度池中,等待系统调度;如图


  • 当正在运行的线程被阻塞时,就会被移出 可调度线程池,此时不可再调度它


  • 当线程正常结束,异常退出,强制退出时都会导致该线程死亡,死亡的线程会从内存中移除,无法调度



更多:iOS面试题合集

你可能感兴趣的:(iOS面试题:多线程的应用)