代码之家  ›  专栏  ›  技术社区  ›  Rafael Mueller

专业或通才线程

  •  2
  • Rafael Mueller  · 技术社区  · 16 年前

    专业或通才线程。

    第一。主要是数据库查询

    第二。主要是hd I/O和xml解析

    第三。主要是Web服务通信

    第五。一些可选工作

    • 每个步骤都有一些专门的线程:比如每个步骤有5个线程,一些线程在第一步获取对象,处理它们,更新这些对象的状态,所以第二步的另一个专门线程获取这些对象并处理它。

    • 所有多面手线程,每个线程从第一步获得一些对象,并一直进行到第五步结束。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Suraj Chandran    16 年前

    • 协调:在专业线程场景中,如果步骤是严格串行的,对象通常会在共享结构中存活更长时间,这可能会损害您的吞吐量。因此,如果所有步骤都是严格串行的,那么使用通用线程来减少协调工作会更容易。

        2
  •  2
  •   Vinko Vrsalovic    16 年前

    1. 上下文切换的成本?->无需解释
    2. 线程模型和资源->例如,您的系统线程不足,出现了更高优先级的请求。你会留下较低的优先级来满足这个请求吗?

        3
  •  1
  •   djna    16 年前

    我可以想象,您可能希望限制同时进行的DB和WS调用的数量,这样您就可以从管道不同阶段的不同并发量中受益。因此,我可能会考虑使用专家。这往往会增加解决方案的整体复杂性。因此,我将首先从构建和性能测试Generalist方法开始。如果你得到了你想要的吞吐量,那么就保持简单,别管它。