这样其实就可以了,如果说完善的话,我建议:
private void GetIP1()
{
   while(int i=1;i<10;i++)
   {
     //
   }
}private void GetIP2()
{
   while(int i=10;i<20;i++)
   {
     //
   }
}
在循环里面加入Thread.Sleep(1000);
因为紧紧是GetIP 所以不用考虑Monitor 的问题了。两个线程之间的关系也不需要过多的考虑,没有先后。

解决方案 »

  1.   

    to:jhtchina(jhtchina)1,两个循环都要加吗?
    2,加在A还是B处
    private void GetIP1()
    {
       while(int i=1;i<10;i++)
       {
         A
         //code
         B
       }
    }
      

  2.   

    "阻塞调用线程"是什么意思?
    阻塞调用的线程,是为了让其他的线程执行。我感觉类似于时间片操作。"将当前线程阻塞指定的毫秒数"也不明白!
    阻塞当前线程,也就是是当前线程Sleep,可以让其他的线程,Sleep里面的参数是Sleep的时间1000=1s
    阻塞当前线程以后可以让当前线程Sleep一段时间.
      

  3.   

    其实不加入也行,但是为了确保
    private void GetIP1()
    private void GetIP2()
    线程的同时执行,Sleep应该都加入达到两个线程同步的目的.
    如果要对数据进行写入是就需要Lock了,锁定代码段,让其进行写操作。确保没有人在你写的时候和你同步写。
      

  4.   

    to:jhtchina(jhtchina)"阻塞当前线程以后可以让当前线程Sleep一段时间."
    是不是可以理解:
    阻塞当前线程以后可以让当前线程Sleep一段时间,而让其它线程更好的执行
      

  5.   

    怎样让线程暂停:
    public static Thread PauseThread;
    if (PauseThread.ThreadState==System.Threading.ThreadState.Running)
        PauseThread.Suspend();
    }点继续按钮再让他继续执行
    if (PauseThread.ThreadState==System.Threading.ThreadState.SuspendResquested)
    {
        PauseThread.Resume();
    }不点继续按钮就永远暂停
    if ((不点继续按钮)&&(PauseThread.ThreadState==System.Threading.ThreadState.SuspendResquested))
    {
    PauseThread.Abort();
    }
    来自:http://community.csdn.net/Expert/topic/3543/3543557.xml?temp=.7477228