社区
网络编程
帖子详情
通过多线程扫描局域网内的所有机器怎么实现?
ju_feng
2002-12-29 05:22:09
以前做过总有一些bug;
不知道具体怎么实现
主要碰到一些如下的难题;
我建立一个线程通过该线程创建了50个线程来扫描局域网内的机器
怎样判断当前的线程已经扫描完毕。
我创建的50个线程都是调用了同一个threadstart代理的实例。怎样让他不相互修改数据,原来的时候我写了一个类传递参数调用可以实现 不知道在一个类里面怎么实现。
最好有例子
...全文
115
4
打赏
收藏
通过多线程扫描局域网内的所有机器怎么实现?
以前做过总有一些bug; 不知道具体怎么实现 主要碰到一些如下的难题; 我建立一个线程通过该线程创建了50个线程来扫描局域网内的机器 怎样判断当前的线程已经扫描完毕。 我创建的50个线程都是调用了同一个threadstart代理的实例。怎样让他不相互修改数据,原来的时候我写了一个类传递参数调用可以实现 不知道在一个类里面怎么实现。 最好有例子
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
你单线程的实现没?就是把检测放到另一个线程呗!
易语言源码易语言超级表格自动完成源码
易语言源码易语言超级表格自动完成源码
【Python + 半导体】设备日志自动解析与异常提取工具
本资源提供半导体设备日志自动解析与异常提取的完整解决方案,适用于设备维护、故障诊断、日志审计等场景。
网络编程
18,356
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章