Python.10

May 17, 2015, 1:39 a.m.

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

Комментарии

  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)
    
  2. В видео-лекции приведен лишь препарированный пример с неатомарным инкрементом, вот пример без искусственного 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)
    
comments powered by Disqus