Index: trunk/absroot/source/abspy/test/threading/test6.py =================================================================== diff --git a/trunk/absroot/source/abspy/test/threading/test6.py b/trunk/absroot/source/abspy/test/threading/test6.py new file mode 10644 --- /dev/null (revision 0) +++ b/trunk/absroot/source/abspy/test/threading/test6.py (revision 160) @@ -0,0 +1,12 @@ +import threading +import datetime + +class ThreadClass(threading.Thread): + + def run(self): + now = datetime.datetime.now() + print "%s says Hello World at time: %s" % (self.getName(), now) + +for i in range(2): + t = ThreadClass() + t.start() Index: trunk/absroot/source/abspy/test/threading/test7.py =================================================================== diff --git a/trunk/absroot/source/abspy/test/threading/test7.py b/trunk/absroot/source/abspy/test/threading/test7.py new file mode 10644 --- /dev/null (revision 0) +++ b/trunk/absroot/source/abspy/test/threading/test7.py (revision 160) @@ -0,0 +1,13 @@ +import urllib2 +import time + +hosts = ["http://yahoo.com", "http://google.com", "http://amazon.com", +"http://ibm.com", "http://apple.com"] + +start = time.time() +#grabs urls of hosts and prints first 1024 bytes of page +for host in hosts: + url = urllib2.urlopen(host) + print url.read(1024) + +print "Elapsed Time: %s" % (time.time() - start) \ No newline at end of file Index: trunk/absroot/source/abspy/test/threading/test8.py =================================================================== diff --git a/trunk/absroot/source/abspy/test/threading/test8.py b/trunk/absroot/source/abspy/test/threading/test8.py new file mode 10644 --- /dev/null (revision 0) +++ b/trunk/absroot/source/abspy/test/threading/test8.py (revision 160) @@ -0,0 +1,44 @@ +#!/usr/bin/env python +import Queue +import threading +import urllib2 +import time + +hosts = ["http://yahoo.com", "http://google.com", "http://amazon.com", + "http://ibm.com", "http://apple.com"] + +queue = Queue.Queue() + +class ThreadUrl(threading.Thread): + """Threaded Url Grab""" + def __init__(self, queue): + threading.Thread.__init__(self) + self.queue = queue + + def run(self): + while True: + #grabs host from queue + host = self.queue.get() + + #grabs urls of hosts and prints first 1024 bytes of page + url = urllib2.urlopen(host) + print url.read(1024) + + #signals to queue job is done + self.queue.task_done() + +start = time.time() + +def main(): + #spawn a pool of threads, and pass them queue instance + for i in range(5): + t = ThreadUrl(queue) + t.setDaemon(True) + t.start() + #populate queue with data + for host in hosts: + queue.put(host) + queue.join() + +main() +print "Elapsed Time: %s" % (time.time() - start) \ No newline at end of file