今回はマルチプロセスで、プロセス間でデータの共有をためしてみました。
今回利用するのは共有メモリです。
以下のサイトに掲載されているコードを動かしてみました。
→上記のサイトの”共有メモリ”のパラグラフのコードはコピペして実行で問題なく動かすことができました。
qiita.com→上記のサイトの"共有メモリ(Shared memory)"のコードは、targetの引数に指定されている関数名とmain内の変数名が一致しているため、わたしの環境ではそのままでは動かず、エラーが吐き出されました。
main内のprocessXという変数をpX(Xは1, 2, 3のいずれか)の改変をすることで正常に動くようになりました。
・改変前
>process1 = Process(target=process1, args=[count, array])
・改変後
>p1 = Process(target=process1, args=[count, array])
ArrayクラスやValueクラスを使用して、共有メモリによる値の引き渡しができることを確認しました。
開発環境: Visual Studio Community 2019
OS: Windows 10 Pro 64bit バージョン1909
使用言語:Python3.7 (64bit)
Python 16.10.21111.19
Python - Conda サポート 16.10.21111.19
Python - Django サポート 16.10.21111.19
Python - プロファイル サポート 16.10.21111.19
パソコン性能: CPU Intel Core i5-4310M 2.70GHz, メモリ: 8GB
Visual StudioでPythonのライブラリを追加する方法は以下が参考になります。
ランキングに参加してます。
よかったらクリックをお願いします。