这样其实就可以了,如果说完善的话,我建议:
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 的问题了。两个线程之间的关系也不需要过多的考虑,没有先后。
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 的问题了。两个线程之间的关系也不需要过多的考虑,没有先后。
解决方案 »
- NetworkStream.BeginWrite 后,如何取消
- C#中tablecontrol 检查里边的tabletext为空
- 编译器错误信息: CS0021: 无法将带 [] 的索引应用于“System.Data.DataTable”类型的表达式
- C#.net 中访问Sql数据库SqlDataAdapter,出现问题:超时时间已到...
- 求一个连接字符串
- 问一个datagrid 的问题?
- IIS的問題
- Array类怎么没有count属性
- 非常非常非常非常简单的简单的简单的问题。~~~~~~~~~~~~~~~~~~GUARD
- datatable查询问题
- 两个简单的问题,大家来捡分!在线等
- form嵌入Microsoft web browser,web browser里面的html 脚本如何访问form上的事件
2,加在A还是B处
private void GetIP1()
{
while(int i=1;i<10;i++)
{
A
//code
B
}
}
阻塞调用的线程,是为了让其他的线程执行。我感觉类似于时间片操作。"将当前线程阻塞指定的毫秒数"也不明白!
阻塞当前线程,也就是是当前线程Sleep,可以让其他的线程,Sleep里面的参数是Sleep的时间1000=1s
阻塞当前线程以后可以让当前线程Sleep一段时间.
private void GetIP1()
private void GetIP2()
线程的同时执行,Sleep应该都加入达到两个线程同步的目的.
如果要对数据进行写入是就需要Lock了,锁定代码段,让其进行写操作。确保没有人在你写的时候和你同步写。
是不是可以理解:
阻塞当前线程以后可以让当前线程Sleep一段时间,而让其它线程更好的执行
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