在内存中开辟一段内存空间存储数据,每次存储的内容都会覆盖上次的内容。由于没有对内存进行格式化的修饰所以存取速度块效率高。
from multiprocessing import Value,Array
from multiprocessing import Value,Process
import time
import random #获取随机值
def deposite(money):
for i in range(100):
time.sleep(0.03)
money.value +=random.randint(1,200)
def withdraw(money):
for i in range(100):
time.sleep(0.02)
money.value -=random.randint(1,150)
money=Value('i',2000) #生成共享内存,放入数字2000,初始化money
d=Process(target=deposite,args=(money,))
w = Process(target=withdraw, args=(money,))
d.start()
w.start()
d.join()
w.join()
print(money.value)
ob j=Value(copy,obj)
功能:开辟共享内存
参数:
ctype 要转变的c的类型
obj 要写入共享内存的初始值。
obj.value #属性为获取共享内存中的值
obj=Array(type,obj)
功能:开辟一个共享内存空间
参数:要装的是c语言的类型,obj放入共享内存中的数据,是一个列表,列表中的数据为相同类型数据。如果obj传入一个正数,则表示在共享内存中开辟一个多大的空间,空间中可以存放的数值