|
|
51CTO旗下网站
|
|
移动端
创建专栏

两个程序悲催的进化旅程

用这个漫画是想讲述进程、线程、协程这些基本概念的来龙去脉,为什么会出现这种技术,解决了什么问题。其实计算机发展到今天,本质上没什么变化,就是计算能力越来越快,存储能力越来越大。

作者:刘欣|2020-03-26 15:12

后记:用这个漫画是想讲述进程、线程、协程这些基本概念的来龙去脉,为什么会出现这种技术,解决了什么问题。其实计算机发展到今天,本质上没什么变化,就是计算能力越来越快,存储能力越来越大。

多进程的出现一方面是因为我们要充分利用CPU的能力,因为它实在是太快了,比硬盘快几百万倍,遇到硬盘操作的时候,坚决不能让它等着,在那里空转,一定要切换到另外的程序去。 另外一方面是人们需要电脑“同时”运行多个程序:一边上网一边听歌。

线程的出现主要是为了提高响应性,漫画中举了一个界面不能响应的例子,同样的问题也会出现在服务器端,多个用户请求发给了服务器,当一个请求在等待IO操作的时候,其他请求可以用别的线程来处理。但是线程多了,创建的开销、切换的开销也会很大,所以考虑得考虑复用,形成线程池。

协程通过合作式调度,避免了多线程编程中各个各样烦人的、容易出错的问题:加锁,通知,阻塞。

【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】

戳这里,看该作者更多好文

【编辑推荐】

  1. 没说过这句“口头禅”,不配做程序员!
  2. 如何降低程序员的工资?
  3. 朋友送了我一个会编程的机器人,说程序员可以下岗了!!!
  4. 听说你是程序员,可以帮我盗个QQ号吗?
  5. 太真实了!有个程序员男友原来是这样的!
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢