トップページ > プログラム > 2020年03月25日 > yVEdwhtr

書き込み順位&時間帯一覧

6 位/132 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000004000000105



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
テスト
Java入門・初心者質問スレ Part.9

書き込みレス一覧

テスト
323 :デフォルトの名無しさん[sage]:2020/03/25(水) 15:08:50.00 ID:yVEdwhtr
test
Java入門・初心者質問スレ Part.9
800 :デフォルトの名無しさん[sage]:2020/03/25(水) 15:11:03.04 ID:yVEdwhtr
test
Java入門・初心者質問スレ Part.9
801 :デフォルトの名無しさん[sage]:2020/03/25(水) 15:17:38.36 ID:yVEdwhtr
>>786
>>778のChime2(後者の実装)をnew Chime2().play(i)で100回とか呼んだ場合ですよね?
うちでもDirect Clipのdaemon threadが増殖しますよ。
実行環境にもよるのかもしれませんけど、
Direct ClipスレッドはClip.open(ais)で生成されて、Clip.close()後に終了するようです。
Chime2ではclip.close()が呼ばれないのでスレッドが残るのでしょう。
Java入門・初心者質問スレ Part.9
802 :デフォルトの名無しさん[sage]:2020/03/25(水) 15:18:22.75 ID:yVEdwhtr
(おお、やっと書き込めた...why?)
(続き)
778の前者の実装(CountDownLatchを使った方)は、
try-with-resources文でclip.close()が暗黙に呼ばれるので
chimeインスタンスを使いまわしても、new Chimeを繰り返してもスレッドは増殖しないですね。

確認した環境: AdoptOpenJDK 12.0.1+12, 64bit Server VM (Hotspot)
(オーディオデータは C:\Windows\Media\notify.wav 等)
$ java --version
openjdk 12.0.1 2019-04-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.1+12)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12.0.1+12, mixed mode, sharing)
Java入門・初心者質問スレ Part.9
806 :デフォルトの名無しさん[sage]:2020/03/25(水) 22:28:11.93 ID:yVEdwhtr
>>804
解決してよかったですね。
ただ、その報告では結局何をどう変更して解決したのかこちらは分からないです。

個人的には Clip.close() を呼ばなくても大丈夫な場合/環境があるのか気になります。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。