社区
网络编程
帖子详情
通过多线程扫描局域网内的所有机器怎么实现?
ju_feng
2002-12-29 05:22:09
以前做过总有一些bug;
不知道具体怎么实现
主要碰到一些如下的难题;
我建立一个线程通过该线程创建了50个线程来扫描局域网内的机器
怎样判断当前的线程已经扫描完毕。
我创建的50个线程都是调用了同一个threadstart代理的实例。怎样让他不相互修改数据,原来的时候我写了一个类传递参数调用可以实现 不知道在一个类里面怎么实现。
最好有例子
...全文
84
4
打赏
收藏
通过多线程扫描局域网内的所有机器怎么实现?
以前做过总有一些bug; 不知道具体怎么实现 主要碰到一些如下的难题; 我建立一个线程通过该线程创建了50个线程来扫描局域网内的机器 怎样判断当前的线程已经扫描完毕。 我创建的50个线程都是调用了同一个threadstart代理的实例。怎样让他不相互修改数据,原来的时候我写了一个类传递参数调用可以实现 不知道在一个类里面怎么实现。 最好有例子
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ajn_sailing
2002-12-30
打赏
举报
回复
up
icelight
2002-12-29
打赏
举报
回复
Q: 怎样判断当前的线程已经扫描完毕?怎样让他不相互修改数据?
A: 你先说清楚,你传给线程函数的参数是什么结构。每次传给线程的参数是不是NEW得来。如果不是NEW得到的当然会被线程们互相修改数据。
一个简单的SAMPLE:
class ThreadInfo
{
public:
bool m_bIsFinished; //判断当前的线程已经扫描完毕
HANDLE m_hThread; //当前线程的句柄
sockaddr addr; //目标地址
ThreadInfo()
{
m_bIsFinished = false;
m_hThread = NULL;
}
}
主线程:
ThreadInfo* arrayThreadInfo[50];
......
for(int i=0;i<50;i++)
{
arrayThreadInfo[i] = new ThreadInfo;
arrayThreadInfo[i].m_hThread=_beginthread(subThreadPing,0,arrayThreadInfo[i]);
}
qrlvls
2002-12-29
打赏
举报
回复
http://www.vckbase.com/上面都有源代码下载
上海老李
2002-12-29
打赏
举报
回复
你单线程的实现没?就是把检测放到另一个线程呗!
C#
多线程
局域网
扫描
器
C#开发的简易
局域网
扫描
器 可选择工作模式(单线程,
多线程
,背景线程)并
扫描
局域网
内所有计算机
c#检测
局域网
内所有
机器
c#检测
局域网
内所有
机器
,自动检测在
局域网
中的所有设备信息
局域网
IP MAC
机器
名 快速
扫描
单线程
扫描
的。有需要的可以自己改成
多线程
的 速度目前我知道的最快的
VC 快速查找
局域网
内所有
机器
的程序源码
通过建立
多线程
,能快速查找
局域网
内所有
机器
,并显示MAC号和IP地址,查找时间等。可用于基于
局域网
的搜索。
delphi
扫描
局域网
IP和计算机名称&网卡MAC码
delphi
扫描
局域网
IP和计算机名称&网卡MAC码
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章