忍者ブログ
[76] [75] [74] [73] [72] [71] [70] [69] [68] [67] [66]

DATE : 2017/12/13 (Wed)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2006/06/06 (Tue)

スレッド t を実行しようとして、よく私がやらかすミスをここにメモしておきます。

t.run();

上のコードは間違いです。正しくは、以下の通りです。

t.start();

Thread#run()には、新しいスレッドで実行する処理が書かれています。そのため、一応 Thread#run() を実行すれば、新しいスレッドで実行しようとしていた処理そのものは実行されます。

しかし、 Thread#run() を直接呼び出した場合は、新しいスレッドではなく、そのメソッドを呼び出したスレッドで処理が行われてしまいます。

新しいスレッドを起動するには、 Thread#start() を実行しなければなりません。

ちなみに、 FindBugs でコードをチェックすると、このミスをしっかり検出してくれます。

PR
●この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
●この記事へのトラックバック
この記事にトラックバックする:
忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)
ブログ内検索
最近の状況
リンク
カレンダー
11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)