none
------------------------有关异步的问题--------------- RRS feed

  • 问题

  • 使用异步为是了最大程度提升线程池中线程的工作效率。
    异步适合使用在IO操作比较耗时的操作上。
    那么请问,我仅需要从一个Cache中读取一个整数,并将该值与另一值进行比较,并返回比较结果。 
    这样的程序执行非常快,在并发访问人数达到万级数目时,我是否可以从异步中有所收益?
    还是应该直接使用同步代码去做。因为该操作非常快,而线程调度也需要时间。谢谢。
    2011年3月17日 0:55

答案

  • 不同意你的看法。我们大都数的asp.net都是跑在iis上的,那么按照你的理论就根本不需要异步编程了?


    对于比较耗时的操作,比如IO,网络等可以考虑使用异步。以便快速响应用户请求。

     


    family as water
    2011年3月17日 10:08

全部回复

  • 很多时候的异步不一定是你能够感觉到的。

    比如你说的很多人在调用你的程序,那么我是否可以认为你这个实际上是一个web 或者 web service呢?

    这类程序都是运行在中间件中(iis等),中间件本身支持并发,可以有很多用户请求这个服务,然后得到结果。

    所以如果你程序是运行在上面的情况下,不需要额外处理。


    family as water
    2011年3月17日 1:27
  • 不同意你的看法。我们大都数的asp.net都是跑在iis上的,那么按照你的理论就根本不需要异步编程了?
    2011年3月17日 2:12
  • 详见:

    http://social.microsoft.com/Forums/zh-CN/295/thread/67ff761e-db1d-45c5-b620-b29f872ee46e

    谢谢。

    2011年3月17日 6:27
  • 异步和这个无关,异步主要是解决页面执行延迟,或者避免重复加载的问题 从cache取一个数比较,这个是多线程的问题,多线程是开启多个线程同时间执行多个任务,不是一个任务开启多个线程执行
    2011年3月17日 7:01
    版主
  • 不同意你的看法。我们大都数的asp.net都是跑在iis上的,那么按照你的理论就根本不需要异步编程了?


    对于比较耗时的操作,比如IO,网络等可以考虑使用异步。以便快速响应用户请求。

     


    family as water
    2011年3月17日 10:08
  • 不错,非常同意你的看法。

    但问题就是仅从缓存中读出一个整数并比较,返回比较结果,这样简单的运算,在并发非常大的情况下,是否有必要使用异步?

    2011年3月17日 13:34