linux学習目標day 03(マルチタスクプログラミング)

11375 ワード

1.マルチタスクの実行方法が分かる
     

2.プロセスの役割が分かる
          ,       ,         

3.マルチプロセスでマルチタスクを完了できる
import time
# 1.      
import multiprocessing 
def sing():
    """    """
    for i in range(1, 6):
        time.sleep(1)  #   1 ,      1 
        print("    ...%d" % i)
def dance():
    """    """
    for i in range(1, 6):
        time.sleep(1)  #   1 ,      1 
        print("    ...%d" % i)
if __name__ == '__main__':
    # 2.      

4.プロセス番号の取得方法を知ることができる
import os
os.getpid()  # pid : process id
os.getppid()  # ppid : parent process id

5.プロセス実行パラメータ付きタスクを書き出すことができる
import multiprocessing


def worker(a, b, c, *args, **kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(kwargs)


if __name__ == '__main__':
    #      

6.プロセス間でグローバル変数が共有されていないことがわかる
       

7.スレッドの役割がわかる
          

8.マルチスレッドでマルチタスクを完了できる
import time
import threading  #       

def sing():
    """    """
    for i in range(5):
        time.sleep(1)  #   1  ,       1 
        print('    ...', i)
        print(threading.current_thread().name)

def dance():
    """    """
    for i in range(5):
        time.sleep(1)  #   1  ,       1 
        print('    ...', i)
if __name__ == '__main__':
    # 2.               
    t1 = threading.Thread(target=sing)
    t2 = threading.Thread(target=dance)

    # 3.     
    t1.start()
    t2.start()

9.スレッドを書き出してパラメータ付きタスクを実行できる
import threading


def worker(a, b, c, *args, name='  ', **kwargs):
    print(a)
    print(b)
    print(c)
    print(args)
    print(name)
    print(kwargs)


if __name__ == '__main__':
    #      
    t1 = threading.Thread(target=worker, args=(1, 2, 3, 4, 5, 6),
                          kwargs={'name': '  ', 'age': 20})
    #      
    t1.start()

10.スレッド間の実行が無秩序であることが分かる


11.スレッド間で共有するグローバル変数を知ることができる


12.反発ロックの役割を知ることができる