На удивление, на такую простую вещь как создание потоков, потратил пару часов, из-за обилия в интернетиках примеров с ошибками в коде. Потому привожу рабочий пример:
		
		
			
			
			
			
				
					
				| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/usr/local/bin/python # coding=utf-8 import threading import time   debug=True #количество одновременно запускаемых потоков thread_count=10;   def putlog(txt):     if (debug==True):      print txt def worker(th):     putlog("--стартовал поток "+str(th));     i=0     while i<config.thread_count:      putlog("--поток "+str(th)+", шаг "+str(i))      time.sleep(1)      i=i+1 def main():     putlog("-скрипт стартовал!");         #запускаем потоки     for i in xrange(thread_count): 	thread = threading.Thread(target=worker, args=(i,)).start()	     #ждем пока потоки завершатся	     while threading.active_count() >1:      putlog("!ждем завершения потоков")	      time.sleep(1)     putlog("-скрипт закончил работу!");	  main() | 
				
			 
		 
Результат работы скрипта:
		
		
			
			
			
			
				
					
				| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -скрипт стартовал! --стартовал поток 0 --поток 0, шаг 0 --стартовал поток 1 --поток 1, шаг 0 --стартовал поток 2  !ждем завершения потоков --поток 2, шаг 0 --поток 0, шаг 1 !ждем завершения потоков --поток 1, шаг 1 --поток 2, шаг 1 --поток 0, шаг 2 !ждем завершения потоков--поток 1, шаг 2   --поток 2, шаг 2 !ждем завершения потоков -скрипт закончил работу |