Tôi cần chia sẻ một từ điển lớn (khoảng 1 gb) giữa nhiều quá trình, tuy nhiên vì tất cả các quy trình sẽ luôn đọc từ đó. Tôi không cần khóa.Cách chia sẻ từ điển giữa nhiều quy trình trong python mà không cần khóa
Có cách nào để chia sẻ từ điển mà không cần khóa không?
Module đa trong python cung cấp một lớp Array cho phép chia sẻ mà không cần khóa bằng cách thiết lập
khóa = false
tuy nhiên Không có tùy chọn như vậy cho từ điển cung cấp bởi người quản lý trong đa xử module.
Tôi thấy điều kiện chủng tộc: d ['blah'] + = 1 thực sự là d ['blah'] = d ['blah'] + 1 chia nhỏ để nhận d ['blah'], thêm 1, và sau đó lưu trữ trong d ['blah']. Trong thời gian đó, quá trình khác có thể đã thay đổi nó. Người quản lý trong trường hợp này chỉ cung cấp proxy để truy cập dict. Thực sự nên sử dụng người quản lý để tạo ra một khóa giữa việc đọc và bổ sung lại cho dict. – dalore