美文网首页
网络多线程

网络多线程

作者: 心里的另一个你 | 来源:发表于2016-07-01 16:19 被阅读17次

怎么保证线程安全?
只在主线程刷新UI。
防止线程资源抢夺,要用@synchronized进行加锁保护。
异步操作保证线程安全,尽量使用GCD。

GCD内部怎么实现的?
iOS和OSX的核心是XNU内核,GCD是基于XNU内核实现的。
GCD的API全部在libDispatch库中
GCD的底层实现主要是dispatch queue和dispatch source
dispatch queue:管理block
dispatch source: 处理时间

NSOperationQueue和GCD的区别?
GCD是基于C语言的。而NSoperation是对GCD进行了一层面向对象的封装。
GCD队列只支持FIFO原则。NSOperation则能很方便的调度线程顺序,以及设置最大并发数。
NSOperation能很方便的设置线程间的依赖关系。GCD实现则较为复杂。
GCD的执行速度比NSOperation快。
NSOperation支持KVO,可以检测Operation是否在执行。
GCD适用于简单程序。NSOperation适用于复杂程序。

GCD适用时要注意什么?
程序复杂度,任务依赖关系。

MRC下和ARC下,block的使用及注意?
block使用注意block的内存管理,循环引用。很多时候,程序为了保证它认为的正常运行,会隐式持有对象。
MRC:使用——block
ARC:使用——weak\——unsafe——unretained。
如果图片下载失败?
重新下载图片,利用Runloop的输入源回到主线程刷新UIImageView。

Socket的实现原理及Socket之间的通信?
socket就是套接字,拥有一对套接字就可实现通讯。一个运行在客户端,称为ClientSocket。另一个在服务器端,称为ServerScocket。一般的socket连接是TCP连接,当然也可以是UDP连接。参考TCP连接。

http协议的实现?
首先要了解,HTTP协议用于在Internet上发送和接收消息。HTTP协议是一种请求-应答式的协议。客户端向服务器端发送一个HTTP请求包,服务器则向客户端回复一个HTTP应答包。

什么是TCP的三次握手?
TCP的三次握手,建立起客户端与服务器端的联系。
首先,客户端向服务器发送一个syn(syn = j)包,并进入SYN_SEND状态。
服务器接收到客户端的syn包,确认用户的syn包(ack = j +1),同时自己也向客户端发送一个syn(syn = k),即SYN+ACK包,此时服务器进入SYN——RECV状态。
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK。客户端与服务器端进入ESTABLLSHED状态,完成三次握手。

HTTP的组成?
请求行,消息报头,请求正文。
支持服务器/客户端模式
简单快速:客户只需要向服务器只需要发送请求方法和路径。HTTP协议简单。
支持任意类型的数据对象。
无连接:限制每次只处理一个连接。
无状态:没有记忆能力。(需要登陆的网址,复制到另一个浏览器。需要重新输入登陆密码)

相关文章

  • iOS知识体系

    UI 网络 多线程

  • 多线程、网络-整理中

    多线程、网络-整理中

  • 多线程网络

    第一节 1.基本概念 2.线程安全 3.线程间通信 4.GCD GCD基本使用【重点】 GCD的栅栏函数 在使用栅...

  • 多线程网络

    下文中,前面介绍一些简单的概念。虽然简单,但还是需要了解。后面介绍的pthread简单了解即可。GCD和NSOpe...

  • 多线程网络

    1.多线程的底层实现 1> 首先搞清楚什么是线程,什么是多线程 说起多线程,那么就不得不说什么是线程,而说起线程,...

  • 网络多线程

    怎么保证线程安全?只在主线程刷新UI。防止线程资源抢夺,要用@synchronized进行加锁保护。异步操作保证线...

  • 网络多线程

    第1天 1 基本概念 2 pthread 3 NSThread (1)NSThread的基本使用 (2)设置线程的...

  • 网络多线程

    Future的错误和状态 让异步耗时操作处理完成之后,再执行下面代码,Future前面需要添加await 下面我们...

  • 多线程面试

    首先分析多线程的使用环境: 多线程处理包括Core Data的多线程访问,UI的并行绘制,异步网络请求以及一些在运...

  • Redis各版本特性

    Redis6.0 多线程IO Redis 6引入多线程IO,但多线程部分只是用来处理网络数据的读写和协议解析,执行...

网友评论

      本文标题:网络多线程

      本文链接:https://www.haomeiwen.com/subject/pkafjttx.html