データ構造を作成し、それを継続的に使用するプログラム(Xと仮定)をc ++で作成しました。ここで、前のプログラムを中止せずにそのデータ構造を変更したいと考えています。このタスクを達成するために2つの方法を試しました:
同じプログラム X で、最初にデータ構造を作成し、次に何らかの目的でそのデータ構造にアクセスして使用する子プロセスを作成しようとしました。親プロセスは実行を続行し、挿入、削除などの変更をユーザーに要求し、コンソールから入力を受け取り、その後変更が行われます。ここでの問題は、子プロセスが使用していたデータ構造のコピーを変更しないことです。後で、子プロセスがデータ構造の独自のコピーを使用しているため、親プロセスを介して行われた変更が反映されないため、これは役に立たないことがわかりました。しかし、間違いなく、私はこれが起こることを望んでいませんでした. だから私はマルチスレッドに行きました。
子プロセスを作成する代わりに、そのデータ構造にアクセスして使用する別のスレッドを作成し、別のスレッドでコンソールからユーザー入力を取得しようとしました。スレッド間の切り替えが非常に高速であるため、これも機能しませんでした。
ですから、この問題を解決するのを手伝ってください。変更を元のデータ構造に反映させたい。また、時間が重要であるため、プロセス (アクセスして継続的に使用しているプロセス) を時々待機させたくありません。