# f.close() is not thread-safe: calling it at the same time as another # operation (or another close) on the same file, but done from another # thread, causes crashes. The issue is more complicated than it seems, # witness the discussions in: # # http://bugs.python.org/issue595601 # http://bugs.python.org/issue815646 import thread while 1: f = open("multithreaded_close.tmp", "w") thread.start_new_thread(f.close, ()) f.close()