Note: not sure whether this issue belongs as a "behavior" or an "enhancement"
In IDLE:
>>> def print_a_test_string():
print "test"
>>>print_a_test_string()
test
>>>threading.Thread(target=print_a_test_string).start()
test
>>>multiprocessing.Process(target=print_a_test_string).start()
[test is not said]
>>>
Running this example in the standard interpreter will print "test" all three times (in current thread, new thread, new process). (Acutally, I got an AttributeError and had to work aroung it using functools.partial(print, "test"))
OS: Windows XP