問題タブ [multiprocess]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - マルチプロセスの方法でフィボナッチ数を計算しますか?
私はマルチプロセスフィボナッチ数計算機を書いています、私はフィボナッチ数を追跡するファイルを持っています、最初のプロセスはファイルを開いて最初のフィボナッチ数(0と1)を書き、次にフォークを行い、その子プロセスは最後の2つの数を読み取りますそれらをアップして次をファイルに書き込み、ファイルを閉じて再度フォークするこのプロセスは、フォークと子が数値を加算し、計算された数値をファイルに書き込むことで続行されます。問題の提案??
これが私たちが話している問題のリンクです。問題のマルチプロセス部分であるパート2です。
http://cse.yeditepe.edu.tr/~sbaydere/fall2010/cse331/files/assignments/F10A1.pdf
python - 1 つの Python マルチプロセス エラー
ここに 1 つの multprocess デモがあり、いくつかの問題に遭遇しました。一晩調べたのですが、原因がわかりません。誰でも私を助けることができますか?
1 つの親プロセスがプロデューサーとして機能するようにしたいのですが、タスクが来ると、親はこれらのタスクを消費するためにいくつかの子をフォークできます。親は子を監視し、いずれかが例外で終了した場合は、親が再起動できます。
このプログラムを実行すると、次のようなエラーが発生します。
1 つの子にシグナルを送信すると、kill –SIGINT {child_pid} が得られます。
multithreading - Perlで親プロセスから子プロセスにメッセージ(またはシグナル)を送信するにはどうすればよいですか?
マルチプロセスを管理するプログラムを書いています。これは私がやったことであり、それは素晴らしい働きをしています!しかし今、私は子プロセスから親プロセスに、そしてその逆(親から子へ)にメッセージを送りたいのですが、あなたは最善の方法を知っていますか?私がしたことは、私が望むもの(メッセージを送信するか、子プロセスから親プロセスに、またはその逆にメモリを共有する)に適切な方法であるかどうかを知っていますか?
前もって感謝します!!
code>c++ - boost :: interprocessの「upgrade_to_unique_lock」はありますか?
ライターバイアスのリーダー/ライターモデルで2つ(またはそれ以上)のプロセス間でデータのチャンクを効果的に共有するための最良の方法を探しています。
私の現在のテストはboost::interprocess
です。いくつか作成managed_shared_memory
し、共有メモリに格納されているプロセス間ミューテックスを使用して、データチャンクへのアクセスをロックしようとしています。
ただし、sharable_lock
リーダーとupgradable_lock
ライターで使用している場合でも、クライアントは書き込み操作中にフラグメント化された値をブロックする代わりに読み取ります。単一のプロセスでスレッド間で同様のリーダー/ライターのセットアップを行っている間、私はupgrade_to_unique_lock
この問題を解決するために使用しました。しかし、私はそれにboost::interprocess
相当するものを見つけていません。存在しますか?
サーバー(ライター):
クライアント(リーダー)
手元にあるより大きな問題はこれだと思います。プロセス間ミューテックスは、ライターに偏ったセットアップでプロセス間の共有メモリにアクセスするための適切な方法でさえありますか?
注:Boost1.44.0を使用する
c++ - 「managed_shared_memory」はどのくらいのメモリを割り当てる必要がありますか? (ブースト)
boost::interprocess
を介して共有メモリの静的チャンクを作成するときに、どれだけのメモリを割り当てる必要があるかについて、決定的な答え(実際に存在する場合)を探していますmanaged_shared_memory
。公式の例でさえ、任意に大きなメモリのチャンクを割り当てているようです。
次の構造を検討してください。
私の最初の反応は、必要なサイズは 8 バイト、つまりsizeof(Point2D)
. オブジェクトを構築しようとすると、これは惨めに失敗し、実行時にセグメンテーション違反が発生します。
seg-fault の原因となっている読み取り/書き込み操作は何ですか? スタック操作?segment.construct()
?内の一時的な割り当て 共有メモリを割り当てる際に必要なオーバーヘッドはどれくらいですか?
試行錯誤の結果、上記の構造ではサイズを 4 倍にするとうまくいくことがわかりましたが、 にフィールドを追加し始めるとうまくいきませんstruct
。だから、それは悪いハックのにおいがします。
現代の PC では「メモリは安い」と主張する人もいるかもしれませんが、私はこの考え方に同意せず、必要以上に割り当てることを避けることができれば嫌いです。昨日、Boost のドキュメントを調べてみましたが、推奨事項が見つかりませんでした。今日は何か新しいことを学びましょう!
unix - 名前付きパイプで複数のライターを回避するにはどうすればよいですか?
複数のリーダーと複数のライターを持つ名前付きパイプを使用してプログラムを作成しています。アイデアは、その名前付きパイプを使用して、リーダー/ライターのペアを作成することです。あれは:
- Aはパイプを読み取ります
- Bはパイプに書き込みます(その逆)
- ペアABが作成されました!
1つのプロセスのみが読み取りで、もう1つが書き込みであることを確認するために、flockで2つのロックを使用しました。ちょうどこのような。
リーダーコード:
ライターコード:
次の問題が発生することがあります。
ご覧のとおり、読者が読み終える前に別の作家が書いています。この問題を取り除くために私は何ができますか?ACKパイプか何かを使うべきですか?
前もって感謝します
c++ - boost::asioサーバーマルチプロセス
単純なマルチプロセス(スレッドではない)サーバーを作成します。一度に1つのリクエストを処理する反復的な例を見てきました。代わりに、より多くのリクエスト(10未満でより多く)を同時に処理する必要があります。従来のcおよびc++の例では、サーバーが次のように設計されていることがわかりました。
ブーストでそのようなことをすることは可能ですか?listen
ブーストではすべての関数( 、、、bind
などaccept
)がvoidを返すため、2つの異なるソケットを取得する方法が本当にわかりません。
python - Python:マルチプロセッシングで保留中のタスクの数を確認するにはどうすればよいですか?プール?
私は労働者の小さなプール(4)と非常に大きなタスクのリスト(5000〜)を持っています。私はプールを使用していて、map_async()でタスクを送信しています。私が実行しているタスクはかなり長いので、1つの長いプロセスがいくつかの短いプロセスを保持できないように、チャンクサイズを1に強制しています。
私がやりたいのは、提出する必要のあるタスクの数を定期的にチェックすることです。最大で4つがアクティブになることはわかっていますが、処理する必要があるのはいくつ残っているかが気になります。
私はグーグルで検索しましたが、これを行っている人を見つけることができません。
役立つ簡単なコード:
python - Antシミュレーション:Antごとにプロセス/スレッドを作成する方が良いですか?
簡単な研究は次のとおりです。 アリの人生シミュレーション
Anthillのクラス、Antのクラス、およびシミュレーター全体のクラスを表示するOO構造を作成しています。
今、私は「アリを「生きる」方法」についてブレインストーミングしています...
このようなプロジェクトが始まったばかりであることは知っていますが、ブレインストーミングを行っています。すぐに食べられる料理を探しているわけではありません。
心から私は「何が良いか」を理解するためにいくつかのテストを行う必要があります。PythonのAFAIKスレッドは、プロセスよりも少ないメモリを使用します。
シミュレーションを開始するときに「アリ」がしなければならないことは、ランダムな方向に動き回る、食べ物を見つけた場合->アリの巣に食べる/持ってくる、食べ物を運んでいる別のアリの巣から別のアリを見つけた場合->攻撃- >食べ物を集める->やらなければならないことをする....など...つまり、アリや環境全体で情報を「共有」する必要があるということです。
だから私は書き直します:各Antまたは何か他のもののためにプロセス/スレッドを作成する方が良いですか?
編集:「何が良いか」という私の質問のために、私は受け取ったすべての賢い答えに賛成し、それらにもコメントを付けました。テストの後、私はベストアンサーを受け入れます。
bash - プロセスプールbashシェルの書き方
実行するタスクが10を超えていますが、システムでは、最大4つのタスクを同時に実行できるように制限されています。
私のタスクは次のように開始できます:myprog taskname
これらのタスクを実行するためのbashシェルスクリプトを作成するにはどうすればよいですか。最も重要なことは、1つのタスクが終了すると、スクリプトは別のタスクをすぐに開始できるため、実行中のタスクのカウントが常に4のままになることです。