Thread t;
this.t = new Thread(new ThreadStart(target));void target()
{
    while(true)
    {
        //  Receive and send
        this.t.ThreadState = ThreadState.Suspend;
    }
}// com event
void on_Comm(.....)
{
    this.t.Resume();
}代码是手写的,肯定有语法错误,你就当伪代码看好了
还有,你要在合适的地方打开线程

解决方案 »

  1.   

    恩,我是在c#.net中新建了个智能设备应用程序 来开发的,可是它不支持        this.t.ThreadState = ThreadState.Suspend 跟 this.t.Resume(); 这样的方法啊,我用c#建立了普通的windows应用程序的话,就可以,这是为什么呢??
      

  2.   

    还有有什么办法确定我 第一次发送数据a 给单片机,单片机接收后有返回值b过来呢,要怎么做到我我接受b后然后在发数据c下去呢
      

  3.   

    .NET Framework 精简版不支持Resume和ThreadState,你可以查一下msdn
    第二个问题,你只好自己做一下记录,看看前面一次发送的是不是a
      

  4.   

    郁闷啊,搞不懂。
    现在有个错误是 :
     试图创建 System.Windows.Forms.Form 的实例时发生异常。异常为“无法加载 DLL (AGL)。”。
    我的窗体设计器打不开了,出现错误,这是为什么?
    我是用c#创建一个普通的windows应用程序,然后有加了个OpenNETCF 这类,引用了 using OpenNETCF.IO.Serial; 后来编译的时候出错了。
      

  5.   

    线程a,b我要实现的功能: 线程a执行完然后在执行线程b,接着在执行线程a,然后继续b,一直这样循环,请问要怎么写? 不能用private System.Threading.ReaderWriterLock  rwl=newreadrwriterlock();  因为我是在c#创建智能设备应用程序下进行开发的,所以就如raulredondo() 所说的NET Framework 精简版不支持这些方法,请问要怎么实现我要的功能???
      

  6.   

    自己设一个标志,然后让另外一个线程一直保持死循环,每次循环都判断一次,看是不是执行下面的语句,否则就continue,不过这个方法很快就会把你的pda的电消耗光的