通信中涉及到多个参数传递 用线程池的话要频繁创建对象 而用异步委托调用的话可以传递多个参数 哪个效率更高一些?经验的说 谢谢

解决方案 »

  1.   

    比如一个函数DataReceive(byte cmd,ushort addr,byte[] data)
    {//内部涉及到一系列的数据处理和插数据库操作,成功之后会调用另外一个函数Send(cmd,addr,buf)将数据发送出去,这个发送其实是写入发送队列
    这个数据处理操作想用线程池或者异步调用处理,涉及到多个参数传递,如果把cmd,addr等封装到对象将对象作为参数传递给线程池参数,可行,但涉及到频繁的创建对象等 性能下降,不知道异步调用是否有提高?
    }
      

  2.   

    一样的,异步委托调用其实也是使用的CLR线程池里的线程!
      

  3.   

    如果你认为频繁的new 对象,那你就不要用线程池,因为线程池会自己不停的new waitcallback的一个这样的对象(具体名称去查下)其实有时候对象的创建是必要的,但你不一定要用线程池来做。类似功能的代码我倒是有,如果你需要给我邮箱,我发个给你,是需要你创建对象的,但不用线程池,直接用自己写的queue来封装的,
      

  4.   

    [email protected]    发来看看 谢谢 呵呵