请大神帮我看看这段代码为什么啊!!!!太奇怪了
# -*- coding:utf-8 -*-
from multiprocessing.sharedctypes import Value
from multiprocessing import Process
from time import sleep
from ctypes import c_char_p
data = Value(c_char_p, "a") # 定义一个共享内存,数据类型string类型
def read():
sleep(0.5)
while True:
print 'read', data.value # 每隔一秒读一次
sleep(1)
def write():
while True:
data.value = "22" # 这样写另一个进程就能正常读出来
# data.value = str(22) # 这样写另一个进程就不能正常读,好奇怪啊
print 'write', data.value # 每隔一秒写一次
sleep(1)
Process(target=read).start()
Process(target=write).start()
while True:
sleep(1)
把write里面的赋值由"22"变为str(22),另一个进行就不能正常读出来,好奇怪啊!!!!!!