2016-07-05 11 views
-1

私は、visualvmを使ってデバッグモードでjavaプログラムを実行します。プログラムの中のメソッドがMainメソッドから呼び出されているのを知っていますが、なぜ他のスレッドがあるのか​​わかりません。私はそれらの世話を減らす方法はありますか?Javaプログラムのスレッド

visualvm result

enter image description here

+0

とは何ですか、1ms保存しますか? –

+0

GCが別のスレッドにあると思われますか? –

+0

1msを節約することはできません。私は主な方法とは別に5つの糸がある理由を知りたい。 – goutthee

答えて

0

それらのメソッド名によって示唆されるように、彼らはチェックのタイムアウトのためにMS SQL ServerのJDBCコネクタによって開始されたスレッドです(あなたのSQL要求が失われていきましたことと、タイムアウトをチェックせずに、あなたはブロックされる可能性があります永遠にSQLリクエストで)。彼らはあなたの良さのために始まり、あなたはそれを止める/減らすべきではありません。

+0

ありがとう、私はコードを確認します。はい、メインメソッドから呼び出されたメソッドがあります。このメソッドは、データベースとの接続を取得するために呼び出されます。そのような4つのメソッドがあるので、私は4つの余分なスレッドが見つかりました。私は、メインメソッドで接続プールを使用し、その4つのメソッドのパラメータの1つとしてその接続を渡します。メソッドのパラメータを介して接続を渡すよりも良い方法はありますか? – goutthee

+0

私はあなたがそれについて別個の質問を開くことを提案します。それはそれが実際にこの問題の範囲外です。私はJDBCの分野ではあまり経験がありません。 – glee8e

+0

はいありがとう@ glee8e – goutthee

関連する問題