linux学習目標day 03(マルチタスクプログラミング)
11375 ワード
1.マルチタスクの実行方法が分かる
2.プロセスの役割が分かる
3.マルチプロセスでマルチタスクを完了できる
4.プロセス番号の取得方法を知ることができる
5.プロセス実行パラメータ付きタスクを書き出すことができる
6.プロセス間でグローバル変数が共有されていないことがわかる
7.スレッドの役割がわかる
8.マルチスレッドでマルチタスクを完了できる
9.スレッドを書き出してパラメータ付きタスクを実行できる
10.スレッド間の実行が無秩序であることが分かる
11.スレッド間で共有するグローバル変数を知ることができる
12.反発ロックの役割を知ることができる
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.反発ロックの役割を知ることができる