1. 程式人生 > >進程 子進程

進程 子進程

取數據 輪轉 網絡操作 關於 int sin 時間片 效率 負責

#!/use/bin/python
# -*- conding:utf-8 -*-

# 並發編程?
# 一個程序可以在同一時間做很多事情
# 解決程序中的IO操作影響程序效率的問題
#
# 並發編程為什麽重要
#
# 操作系統
# 並發這件事

# 輸入輸出 :大部分時間逗不會占用cpu,且會降低你程序的效率
# 如input/print 文件讀數據,取數據
# 網絡操作: 從網絡上獲取數據 爬蟲 發送請求 寫讀 從網絡上獲取數據

# 單進程 -->多道系統-->分時進程 實時系統(分時:就是時間片輪轉算法)
#

# 進程:運行中的程序
# 什麽是程序:如微信,qq pycharm
# 操作系統 只負責管理調度進程
# 進程是操作系統中資源分配的最小單位
# 每一個運行中的程序都需要有自己的內存,資源
# 都分配給進程,記錄執行的狀態,管理自己的內存資源

# 在python中,每一個運行中的程序 都是一個進程
# 一個進程,就能做一件事
# 如果有多個進程 就可以做多件事兒
# 如果用pyth來開啟一個進程

# import os
# import time
# print(os.getpid())
# time.sleep(1000)


# Process 進程
# multi 多遠的

# import os
# import time
# from multiprocessing import Process
# def func(num):
# print(num,os.getpid())
# time.sleep(0.5)
# print(num, os.getpid())
# time.sleep(0.5)
# print(num, os.getpid())
# time.sleep(0.5)
# print(num, os.getpid())
#
# if __name__ == ‘__main__‘:
# print(os.getpid())
# p = Process(target = func,args=(10,)) #創造一個進程
# p.start() #開啟進程
# print(os.getpid())
# time.sleep(1)
# print(os.getpid(),1)
# time.sleep(1)
# print(os.getpid(), 2)

# 同步:先洗衣服再做飯
# 異步:有了洗衣機,洗衣機洗衣服,然後你做飯
# 異步可以有效的提高執行效率,進程與進程之間都是異步的


# 幾個概念
# 子進程
# 住進程
# 父進程
#
# 關於print的順序

from multiprocessing import Process
import time


#什麽手機進程:在程序運行中,計算機最小的資源分配單位
# 程序唄執行會產生一個主進程,同時主進程也叫父進程
# 在python中可以用代碼啟動一個子進程
# 父子進程之間的數據是異步的,各自執行自己的
# global()全局的 local局部的
# 主進程什麽時候結束:主進程會等待子進程結束後在結束
# n = 100
# def func():
# global n
# n = 0
# print(‘-------‘)
# # func()
# # print(n)
#
# # func()
# if __name__ == ‘__main__‘:
# Process(target=func).start()
# time.sleep(1)
# print(n)
#
#
# 開啟多個子進程
def func(n):
time.sleep(1) #只要在等待就會陷入阻塞狀態
print(‘_‘*n)
if __name__ == ‘__main__‘:
for i in range (10):
Process(target=func,args=(i,)).start()
# Process(target=func,args=(2,)).start()
# Process(target=func,args=(3,)).start()
# Process(target=func,args=(4,)).start()

#時間片的輪轉

進程 子進程