当前位置: 技术问答>linux和unix
linux 多线程实现域名解析的问题!
来源: 互联网 发布时间:2016-06-27
本文导语: 有个存储域名的文件,1W多行,要将这些域名进行解析。有的可以解析的到,有的解析不到(大约要花费20多S),用单进程感觉很慢,所以就用了2个线程,在我执行时,线程A大约连续执行了5、6分钟,然后才执行线程B,...
有个存储域名的文件,1W多行,要将这些域名进行解析。有的可以解析的到,有的解析不到(大约要花费20多S),用单进程感觉很慢,所以就用了2个线程,在我执行时,线程A大约连续执行了5、6分钟,然后才执行线程B,线程B连续执行了5、6分钟又接着执行线程A,结果花费的时间比单进程还要多。尤其是:在线程A解析某个域名(这个域名是解析不到的,花费20多S),也没见线程B执行。这样就失去了多线程的优越性了。
注:用linux C语言写的,通过gethostbyname函数来解析域名的,解析之后分别保存在不同的文件中。两个线程都没有用到mutex,sleep等其它的,只是很简单的线程。
请高手指点,有点急!谢谢。
注:用linux C语言写的,通过gethostbyname函数来解析域名的,解析之后分别保存在不同的文件中。两个线程都没有用到mutex,sleep等其它的,只是很简单的线程。
请高手指点,有点急!谢谢。
|
gethostbyname 不可以用于多线程。
|
多线程非并行排队访问文件,我一直不知道这个到底快在哪里?
好几次看别人这么问,但是始终不知道优势在什么地方?
楼主要用,可以参考下这里
http://topic.csdn.net/t/20021217/16/1270040.html
好几次看别人这么问,但是始终不知道优势在什么地方?
楼主要用,可以参考下这里
http://topic.csdn.net/t/20021217/16/1270040.html
|
CPU是以时间片为时间单位对线程进行轮询执行的,时间片以纳秒级为单位,你怎么让它这样执行的呢?
|
看似好像成功的把多线程写成了单线程
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。