import multiprocessing
import json
import time
import fcntl
def init():
with open('list.txt', 'w') as f:
f.write(json.dumps({'sids': {}}))
def list(data=None):
if data is None:
with open('list.txt', 'r') as f:
fcntl.lockf(f.fileno(), fcntl.LOCK_EX)
print(f.read())
return json.loads(f.read())
else:
with open('list.txt', 'w') as f:
fcntl.lockf(f.fileno(), fcntl.LOCK_EX)
f.write(json.dumps(data))
def generate(sid):
target = 'http://www.baidu.com'
data = list()
data['sids'][sid] = target
print(len(data['sids']))
list(data)
time.sleep(5)
if __name__ == '__main__':
init()
processes = []
for i in range(100):
p = multiprocessing.Process(target=generate, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
几乎所有进程都报 json 解码错误
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
这是哪里出了问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.