多线程实现的一个小程序

想通过对192.168.1.*类地址的搜索,读取局域网内的计算机名。因为单个线程运行速度实在是有点慢,慢主要就慢在当gethostbyaddr函数的返回值等于NULL时,其出结果的时间非常长,导致整个程序运行速度变得很慢。

因此我就想用多线程技术,通过两个线程同时展开搜索,以加快速度。当然,前提是我现在手上有一台双核的计算机。如果没有双核的计算机,即使建立多线程也不能提高速度,我们都知道,单个CPU时,即使创建了多线程,那它也是并发的,并不是真正意义上的并行。

下面贴出源代码:

当中/**/部分是在单线程情况下的代码。

多线程的确有很多复杂的地方,为了避免因时间片时间使用完而引起的错误,采用了建立一个互斥对象的方法。但仍有许多地方不大清楚,或者说不清不楚。在编写的过程中也有许多地方是因为我没考虑周全引起的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值