通过多线程扫描局域网内的所有机器怎么实现?

ju_feng 2002-12-29 03:38:22
以前做过总有一些bug;

不知道具体怎么实现

主要碰到一些如下的难题;

我建立一个线程通过该线程创建了50个线程来扫描局域网内的机器

怎样判断当前的线程已经扫描完毕。

我创建的50个线程都是调用了同一个threadstart代理的实例。怎样让他不相互修改数据,原来的时候我写了一个类传递参数调用可以实现 不知道在一个类里面怎么实现。

最好有例子
...全文
59 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
myxingxing 2003-01-02
  • 打赏
  • 举报
回复
用线程池
ju_feng 2003-01-02
  • 打赏
  • 举报
回复
用线程池只是管理线程调度的

而我的问题是多线程调用同一个线程代理的问题
ju_feng 2003-01-01
  • 打赏
  • 举报
回复
回家看了一些多线程的资料用这样的方法可以实现:

定义一个类

class threadProc
{
int static num = 0;
Thread thread ;
stirng iphead ;
int start = 0;
public void run(int start,string ipHead)
{
start = start
iphead = ipHead;
thread = new Thread(new ThreadStart(threadrun));
thread。start();

}
private void threadrun()
{
while(start〉num )
num++;
for(int i=0;i<5;u++)
{
num++
搜索局域网中是否存在ip为iphead+num。tostring的机器
}

}

然后在主函数中建立多个类的实列可以实现扫描


如果将类threadProc中的num定义为实列变量然后传递过来ip的起始与结束的范围
原理上可以实现但是实际运行有错误不知道为什么?
SaSBYa 2002-12-29
  • 打赏
  • 举报
回复
用全局变量怎么样?
ju_feng 2002-12-29
  • 打赏
  • 举报
回复
晕!这么长时间了就等了这么一句话

俺还是回家自己解决问题了
CHReich 2002-12-29
  • 打赏
  • 举报
回复
我也想知道

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧