1

データベースにアクセスしてデータを取得するプロセスがあります。複雑さと私の質問は次のとおりです。

一部のデータは 1 つのデータ ソースから取得され、残りは別のデータ ソースから取得されます。プロセスを開始したら、すべてのデータをダンプしてからフォークするオブジェクトを作成できるのではないかと思っていました(C言語のように)。各プロセスを異なるデータ ソースに送信します。

質問 1 : fork のようなことをすると、両方のデータのダンプが同時に更新されますよね? つまり、親プロセスがソース A からデータを取得してオブジェクト O にダンプし、子プロセスが B からデータを取得してオブジェクト O のみにダンプしている場合、O は同時に読み込まれますか? A からのデータを使用して 1 つと B からのデータを使用して 2 つのオブジェクトを作成することはありません。また、このプロセスの効率はマルチプロセッサ システムだけにあるのでしょうか。

質問 2: Java にこのようなものはありますか?

ありがとう。

4

2 に答える 2

3

@DaveHoves が提案したことを試すことができます。複数のソース データの読み込み/処理を処理するときに私が個人的に好むもう 1 つのオプションは、ForkJoinフレームワークを使用することです。ここで良いチュートリアルを見つけてください。

幸運を!

于 2012-07-31T07:05:47.450 に答える
2

forkに相当するjavaはjava.lang.Threadです。チュートリアルについては、こちらをご覧ください。

質問を正しく理解すると、データソースAへのアクセスはアプリケーションのメインスレッドを介して行われ、データソースBへのアクセスは別のスレッドによって処理されるように見えます。両方のデータソースへのアクセスを別々のスレッドにプッシュし、両方が終了するのを待ってから( javadocsを参照)、結果を1つのオブジェクト(上記の説明のオブジェクトO)に結合したいと思います。

于 2012-07-31T06:51:48.767 に答える