Материалы десятой лекции.

Комментарии

  1. В примере из лекции был приведен следующий код:

     subprocess.Popen('date +%H:%M:%S &> /dev/null', shell=True)
    

Это пример плохо портируемого кода, лучше бы было написать так:

    subprocess.Popen('date +%H:%M:%S', shell=True,
                     stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
  1. В видео-лекции приведен лишь препарированный пример с неатомарным инкрементом, вот пример без искусственного time.sleep:

     import threading
    
     counter = 0
    
     def inc():
         global counter
         for _ in range(100000):
             counter += 1
    
     pool = []
     for _ in range(10):
         th = threading.Thread(target=inc)
         th.start()
         pool.append(th)
    
     for th in pool:
         th.join()
    
     print(counter)