0

特定のリソースと 2 つのスレッドがあり、1 つはプロデューサーで、もう 1 つはコンシューマーです。プロデューサーは時間間隔ごとにリソースを更新しますが、更新には時間がかかるため、コンシューマーを待たせたくありません。プロデューサーが更新している間、代わりにリソースの古い値を操作してもらいたいです。コンシューマーを待機させずに 2 つのスレッドを同期するにはどうすればよいですか?

4

2 に答える 2

2

プロデューサーが生成したものをコンシューマーが読み取るためのアトミック ポインターを使用できます。プロデューサが新しいデータを生成したら、代わりにその新しいデータを指すようにアトミック ポインタの値を変更します。

于 2013-06-23T19:09:09.277 に答える
0

共有リソースは、更新中または読み取り中はロックする必要があります。消費者はリソースを独自のバッファにコピーできると思いますか? それとも同じくらい時間がかかりますか?

于 2013-06-23T15:51:50.107 に答える