title: Python: How to wait for threads
body: <p>I try threading in python. I have some code and hear that my program is waiting for threads if i use the .join method. But in the following code I get the print 'done' earlier then the prints in my thread. But why?</p>
  
  <pre><code>def getresults(seed):
    print("get results now")
    results[seed]
    i = 0
    threads = []
    for suggestengine in suggestengines.keys():
        i += 1
        t = threading.Thread(target=getSuggestengineResult, args = (suggestengine, seed, i))
        threads.append(t)
    print('threads initialized')
    for thread in threads:
        thread.start()
    for thread in threads:
        thread.join
    print('done')
  </code></pre>