• 多线程应用中,线程资源应该放在哪些代码块中


    如题:在现实的应用中,线程资源应该放在哪些代码块中?这个问题可能涉及到多线程设计模式。以下内容为随笔。

    request-handle-response应用

      一个request-handle-response模式下的应用, 若所有的代码模块都在一个线程中,这个唯一的线程只能串行地处理request, handle, response三个部分。若是在多线程中,一个直觉的线程分配方式就是:三个模块每个各给一份线程资源,三个模块之间再通过同步器(synchronizer)进行协调。

    应用与自动机械系统

      一个应用可以看作是一个自动机械系统,而应用中的线程(池)可类比机械系统的动力源,单线程应用对应单动力源机械系统,多线程对应多动力源机械系统。在生产者-消费者模型中,生产者和消费者各需要一份动力源。

     结论

      从整体的角度来看,线程资源应该分布于两大类和三大块,即:数据的输入/输出以及数据的处理模块中。request-handle-response正好符合这个结论;而在生产者和消费者模式中,生产者和消费者都可看作是处理数据模块。整个应用都是request-handle-response模式下的自相似组合。

     

  • 相关阅读:
    LayaAir IDE中 Psd2UI
    react17.x源码解析(1)——源码目录及react架构
    解决layaBox2.13.0beta版本ts项目无法断点问题
    layaair2cmd的使用
    layabox项目文件及项目配置
    react17.x源码解析(2)——fiber树的构建与更新
    部署解压版mysql
    linux命令之find查找文件
    liunx之拷贝命令cp
    linux 之 pwd 命令
  • 原文地址:https://www.cnblogs.com/tlz888/p/15525015.html
Copyright © 2020-2023  润新知