程序與執行緒之間記憶體資料的共享問題

2022-02-01 06:08:18 字數 649 閱讀 1376

code

from

threading import thread

from

multiprocessing import process

import os

def work():

global

n n = 0

if __name__ == '

__main__':

n=100

p=process(target=work)

p.start()

p.join()

print('主

',n) # 毫無疑問子程序p已經將自己的全域性的n改成了0,但改的僅僅是它自己的,檢視父程序的n仍然為100

n = 1

t = thread(target=work)

t.start()

t.join()

print('主

', n) # 檢視結果為0,因為同一程序內的執行緒之間共享程序內的資料

outputs

macname@macdemacbook-pro py %python3 cccccc.py

主 100主 0

macname@macdemacbook-pro py %

關於執行緒 程序之間的資料共享

程序與執行緒共享資料 在一程序建立兩個執行緒 執行緒1 執行緒2,測試三者之間的關係 include include pthread.c 10 static int m 11 void pthread1 void arg 12 18 void pthread2 void arg 19 23 int ...

程序與執行緒之間的區別

程序是併發執行的程式在執行過程中分配和管理資源的基本單位,是乙個動態的概念。每個程序都有自己的位址空間 程序空間 程序空間的大小與處理機位數有關。程序至少有5種基本狀態 初始態,執行態,等待狀態,就緒狀態,終止狀態。在多使用者環境下,乙個伺服器通常需要接受大量的不學定數量使用者的併發請求,而為每乙個...

執行緒之間共享與獨享的資源

程序是資源分配的基本單位 執行緒是系統排程的基本單位。平時我們寫的程式都是作為執行緒執行的 程序可以看做是包括一系列執行緒和資源的統稱 乙個程序至少包括乙個 執行緒 主線程,進入main函式時產生的 在其中可以建立其它執行緒,也可以不建立。同一程序間的執行緒究竟共享哪些資源呢,而又各自獨享哪些資源呢...