title: python thread: only one Python thread is running
body: <p>I'm working on the webcam using python and opencv, it seems that it lagged between reading the first one and the second one. So I want to use python thread to fix it. Here is my code:</p>
  
  <pre><code>from cv2 import *
  from threading import Thread, currentThread, activeCount
  import numpy as np
  webcam_address0="rtsp://192.168.1.109:6554/stream_0"
  webcam_address1="rtsp://192.168.1.106:6554/stream_0"
  cap0=VideoCapture(webcam_address0)
  cap1=VideoCapture(webcam_address1)
  count=0
  flag_l=False
  flag_r=False
  def webcam0_read():
      global frame0
      global flag_l
      while 1:
          print('start reading l')
          ret0, frame0 = cap0.read()
          print('l done')
          flag_l=True
  def webcam1_read():
      global frame1
      global flag_r
      while 1:
          print('start reading r')
          ret1, frame1 = cap1.read()
          print('r done')
          flag_r=True
  t0=Thread(target=webcam0_read())
  t0.setDaemon(True)
  t0.start()
  t1=Thread(target=webcam1_read())
  t1.setDaemon(True)
  t1.start()
  while 1:
      print('ready to print!')
      if flag_l==True and flag_r==True:
          frame0=resize(frame0,(640,360))
          frame1=resize(frame1,(640,360))
          imshow("Video Stream0", frame0)
          imshow("Video Stream1", frame1)
          if waitKey(5) == 's':
              path0="~/images/"+str(count)+"l.jpg"
              path1="~/images/"+str(count)+"r.jpg"
              imwrite(path0,frame0)
              imwrite(path1,frame1)
          elif waitKey(5)==27:
              break
  </code></pre>
  
  <p>When I run it, I only got the result like: start reading l</p>
  
  <p>l done</p>
  
  <p>start reading l</p>
  
  <p>l done</p>
  
  <p>start reading l</p>
  
  <p>l done</p>
  
  <p>It seems that the thread t1 is not running. And it never prints "ready to print!".How can I fix it? Thank you a lot!</p>