如果是在主线程里,Invoke和直接执行没区别
如果你只有一个工作线程也没区别
如果在多个工作线程里Invoke,这些方法会被串行执行--- 貌似对结果也没什么影响

解决方案 »

  1.   

    控件之外的逻辑,最好不要再Invoke执行
    至于有没有隐患,不知道。http://lidunyang2008.blog.163.com/blog/static/19067620520132233112342/
      

  2.   

    会有隐患。
    因为这相当于业务逻辑在UI线程中运行,如果逻辑比较耗时,会妨碍UI的响应。
      

  3.   

    除控件操作以外的业务逻辑 不耗时,直接执行;耗时的 需要放到后台线程中执行;在 主线程中 Invoke  业务逻辑  完全没有必要,影响UI线程的响应,也就出现“卡死”现象。
      

  4.   

    一般来说,Invoke只用来封送UI操作。但是需要的时候也可以把UI线程当作一个线程同步工具。比如你有多个工作线程,它们本来就要做线程同步,特别是这些需要同步的代码不太耗时,而且和UI操作是一起的时候。最简单的例子就比如工作线程需要在做完某个UI操作后把一个公共的计数器加一,通过Invoke和UI操作一起同步到UI线程去执行,就不用写额外的同步代码了。
      

  5.   

    主线程中 Invoke 业务逻辑完全没有必要.