#!/usr/bin/python# encoding: utf-8import time,sysimport socketimport threading def ReadHost(file):	hosts=[]	f=open(file,'r')	for line in f: 		hosts.append(line.strip('\n'))	f.close()	return hostsclass ThreadClass(threading.Thread):	def __init__(self,host):		threading.Thread.__init__(self)		self.host=host	def run(self):		global IPhost		try:			res=socket.getaddrinfo(self.host,None)			if mutex.acquire(1):				for re in res:					IPhost[self.host]=re[4][0]					mutex.release()		except Exception,e:		#	pass				print self.host,edef MulThreadResolve(fr):	start=time.ctime()	print 'starting MulThreadResolve at: ',start	hosts=ReadHost(fr)	threads=[]	for host in hosts:		t=ThreadClass(host)		threads.append(t)	cntHost=len(hosts)	for i in range(cntHost):       		threads[i].start()	for i in range(cntHost):        	threads[i].join() 	print 'ending MulThreadResolve at :', time.ctime(),'\n' if __name__=='__main__':        IPhost={}        mutex=threading.Lock()	MulThreadResolve('16.txt')        for k,v in  IPhost.items():		print "\033[32m %-35s %-10s\033[0m" % (k,v)