1. 程式人生 > >fork(待補充)

fork(待補充)

多工理解

 

單核cpu完成多個cpu的切換

時間片輪轉

優先順序排程

 

併發看上去一起執行

並行一起執行

 

排程演算法

什麼樣的情況下用什麼樣的規則讓誰去執行.

 

一般情況下電腦都是併發的

 

程序的建立-fork

程序VS程式

編寫完畢的程式碼,在沒有執行的時候,稱為程式

正在執行的程式碼,稱為程序

程序,除了包含程式碼以外,還有需要執行的環境,所以和程式是有區別的

fork()

fork建立一個程序,ret大於0是父程序,不確定返回幾,ret等於0是子程序

在linux系統下(centos)才能執行,windows提示沒有fork方法

import os
import time
ret = os.fork()
if  ret == 0:
    while True:
        print('--1--')
        time.sleep(1)
else:
    while True:
        print('--2--')
        time.sleep(1)

 

一般作業系統能執行65535個程序,pid就像人的身份證,不可能相同

getpid獲取當前程序的值

getppid獲取當前程序父程序的值

父程序中fork的返回值,就是剛剛建立的子程序的ID