This part:
while(1>0):
if queue.empty() == True:
print "the Queue is empty!"
break
Above all, just wrong . queue.get()is blocked, there is absolutely no reason for the busy cycle . It should be removed.
Your code should look something like this.
def processor():
source=queue.get()
page = urllib2.urlopen(source)
print page
queue.task_done()
def main:
for i in range(threads):
th = Thread(target=processor)
th.setDaemon(True)
th.start()
for source in all_sources:
queue.put(source)
queue.join()
, . , , main.