有一个使用场景,在用户一次的访问中,我向steam的dota2接口请求了20条用户的最近比赛记录,然后传到jsp渲染了,我想把这20条记录存在数据库中,这个操作比较耗时,就新开了一个线程这样做会不会导致线程安全问题,好像不推荐在servlet中新开线程?还有其他的解决方案吗?
模拟代码
@RequestMapping("/thread")
@ResponseBody
public String actionThread(){
Thread t=new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
System.out.println("数据库操作");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
t.start();
return "nihao";
}
谢谢各位 查了文档用了springmvc容器级的taskexecutor ,可以限制线程数目和等待队列的大小。
<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/>
<task:executor id="myExecutor" pool-size="5-10" queue-capacity="100" rejection-policy="CALLER_RUNS"/>
<task:scheduler id="myScheduler" pool-size="10"/>
@Async
public void test(String s){
try {
Thread.currentThread().sleep(5000);
System.out.println("test asny"+s);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Your Answer
2 件の回答
Hot Questions
function_exists() はカスタム関数を決定できません
2024-04-29 11:01:01
Google Chromeのモバイル版を表示する方法
2024-04-23 00:22:19
子ウィンドウは親ウィンドウを操作しますが、出力は応答しません。
2024-04-19 15:37:47
親ウィンドウには出力がありません
2024-04-18 23:52:34
CSS マインド マッピングに関するコースウェアはどこにありますか?
2024-04-16 10:10:18
Hot Tools
vc9-vc14 (32+64 ビット) ランタイム ライブラリ コレクション (以下のリンク)
phpStudy のインストールに必要なランタイム ライブラリのコレクションをダウンロードします。
VC9 32ビット
VC9 32 ビット phpstudy 統合インストール環境ランタイム ライブラリ
PHP プログラマー ツールボックスのフルバージョン
プログラマ ツールボックス v1.0 PHP 統合環境
VC11 32ビット
VC11 32ビットphpstudy統合インストール環境ランタイムライブラリ
SublimeText3 中国語版
中国語版、とても使いやすい
ホットトピック
Douyin レベル価格表 1-75
20335
7
20335
7
Wi-FiにIPが割り当てられていないことが表示される
13530
4
13530
4
確認コードを受け取るための仮想携帯電話番号
11850
4
11850
4
Gmailメールのログイン入り口はどこですか?
8835
17
8835
17
Windows セキュリティ センターをオフにする方法
8420
7
8420
7
人気の記事
2025 年の仮想通貨市場のトップ 10 トレンドの予測: 次のトレンドはどこでしょうか?
2025-11-07
By DDD
通貨サークル内で先住犬プロジェクトを特定するにはどうすればよいですか?ゼロコインの罠とリスク警告を回避する
2025-11-07
By DDD
CSS @media クエリの優先順位とルール カバレッジの問題を解決するためのチュートリアル
2025-11-07
By DDD
鉄道 12306 の支払いに失敗した注文はまだ存在しますか?_鉄道 12306 の支払いに失敗した注文の処理方法
2025-11-07
By DDD
インストール後にソフトウェアで win10 フォントが見つからない場合の対処法_win10 フォントのインストールと識別方法
2025-11-07
By DDD





