ファイルをディスクに書き込み、その他のものをデータベースに書き込む Web サービスがあります。操作全体では、書き込みごとに 1 ~ 2 秒かかります。
このサービスは、ほとんどの場合、複数のクライアントから同時に呼び出される可能性があります。20 のクライアントが同時に Web サービスを呼び出すと仮定して、書き込み操作を同期する必要があります。その場合、何秒も待たなければならないため、一部のクライアントでタイムアウト例外が発生する可能性があります。
この種の状況を解決するための良い方法はありますか? 現在のように、メソッドは同期されています (これにより、飢餓/タイムアウトが発生する可能性があります)。
タイムアウトを回避するために、キーワードを削除してすべてのスレッドを書き込みメソッドにsynchronized
入れ、それらのタスクをタスク キューに入れる必要がありますか? それはこれを回避する正しい方法ですか?