自己写的gethostbyname函数 cpu占用率高怎么解决?代码不能上传... cpu占用率高怎么解决?代码不能上传 展开 我来答 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 gethostbyname 函数 搜索资料 1个回答 #热议# 海关有哪些禁运商品?查到后怎么办? townsin 2013-07-29 · TA获得超过452个赞 知道小有建树答主 回答量:594 采纳率:50% 帮助的人:509万 我也去答题访问个人页 关注 展开全部 可以参考线程的相关知识,你读取的时候是不是有阻塞操作? 更多追问追答 追问 有阻塞函数,我用setsocketopt函数实现时间控制为2秒后退出阻塞 追答 怎么实现的时间控制?是用线程等待方法sleep? 追问 recvfrom是接受函数但是阻塞,我用setsocketopt函数实现的时间控制没有用到多线程 追答 这就是关键,你应该另起线程调用recvfrom,主线程sleep,在得到数据之后再接着执行 追问 我得不到数据就要返回不能等待的, 追答 也可以啊,另起线程调用recvfrom,主线程不要反复等待,只是在sleep2秒后读取数据,如果无论数据有没有都退出(同时杀掉子线程) 追问 单线程就可以为什么还要双线程,主要问题是我的cpu占用率高,想降低占用率 追答 你还是没明白,之所以占用率过高就是cpu一直在执行recvfrom 追问 cpu阻塞在recvfrom还会干别的事情吗, 追答 可以干别的事啊,但是对于你的主线程来说,一直在执行recvfrom你可能没办法在2秒内干完,用两个线程的方式是保证2秒内干完,无论读到数据与否 本回答被提问者采纳 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 收起 1条折叠回答 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2016-05-12 gethostbyname()的错误代码 2016-05-12 gethostbyname()的注释 2016-05-18 gethostname()的注释: 更多类似问题 > 为你推荐: