240 发简信
IP属地:江苏
  • @大侠Tan 并发是程序同时执行多个任务,平时我们也用并发来形容程序的这个特性,并发和并行的唯一区别在于系统底层内核的实现上。多核处理器因为有多个内核,可以在同一"时刻"执行多个任务(每个任务分摊到不同内核来处理),这是并行。而对于单核处理器,系统只能把单核cpu的执行时间分割成多个时间片,来交替处理多个任务,以至于从应用上层来看是多个任务是同时执行的假象,这是并发。字面上,同时执行多个任务,我们都叫并发 :blush:
    多线程和异步是两个层面上的概念,多线程是并发的具体逻辑实现,异步主要强调程序逻辑调用的先后顺序。单个线程上可以有多个逻辑调用,如果是"同步",几个逻辑会排着队一个一个执行(前面的逻辑执行完了才执行后面的),如果是"异步",只要前面的逻辑调起了,后面逻辑就可以调起执行,没存在等待前面逻辑执行完的那段时间。不管是同步还是异步的逻辑调用,都是指针对单个线程而言的。
    感谢关注,有问题继续交流~~~

    并发 并行 同步 异步 多线程 阻塞 非阻塞

    前言 最近iOS开发群里兄弟们讨论网络层这块的东西比较多,问题主要集中在请求、线程、队列这几块。中途发现对并发、异步、多线程等这些概念有一定的误解,特写此篇文章以作阐释。 这...

  • 感谢博主的回答 :blush:

    让你在WebView中用JS调Native Object

    一直想写篇文章来总结下,可是一直也很懒,一拖就是几个月。 背景 之所做这个东西,源于之前项目中需要把一些页面用webView来呈现,但是web中需要调用native的方法,比...

  • 哈哈!再一次利用了 runtime,本文我能理解为JSPatch原理的简单实现么?博主

    让你在WebView中用JS调Native Object

    一直想写篇文章来总结下,可是一直也很懒,一拖就是几个月。 背景 之所做这个东西,源于之前项目中需要把一些页面用webView来呈现,但是web中需要调用native的方法,比...

  • 不是很同意楼主"request的顺序执行并不能保证response返回也是顺序的.因为网速是时快时慢得."的观点,目前针对业务的网络请求大多是http,而http又基于tcp/ip协议,数据包在网络层传输肯定是有先后顺序的,和网速快慢没关系。至于response的顺序会错乱,可能是后台并发处理request导致的。多多交流 :blush:

    为什么说,你纯看代码而没有碰到这个场景你就算看懂了也没法理解?

    为什么说,你纯看代码而没有碰到这个场景你就算看懂了也没法理解? 我碰到了一个什么问题? 来说一个场景,打开你的Instagram,如果手机有VPN,请连接上VPN.打开搜索页...

  • 120
    并发 并行 同步 异步 多线程 阻塞 非阻塞

    前言 最近iOS开发群里兄弟们讨论网络层这块的东西比较多,问题主要集中在请求、线程、队列这几块。中途发现对并发、异步、多线程等这些概念有一定的误解,特写此篇文章以作阐释。 这...