Как разделить переменную между двумя потоками

Использование Python 2.7.3 в Windows.

Как я могу поделиться переменнойnum между нитями, такими, что послеnum в квадрате, это напечатано?

Я понял, что мне нужно понять, как работают потоки, но документации не так много, и я тоже ничего здесь не нашел ..
Итак, кто-то может объяснить, как работают потоки и как делить переменные между двумя потоками?

Мой код (продолжает печатать2)

import threading
def func1(num):
    while num < 100000000:
        num =  num**2
def func2(num):
    while num < 100000000:
        print num,
num = 2
thread1 = threading.Thread(target=func1,args=(num,))
thread2 = threading.Thread(target=func2,args=(num,))
print 'setup'
thread1.start()
thread2.start()

Ответы на вопрос(1)

Ваш ответ на вопрос