2011-09-14 7 views
0

私はスレッドとタスクが異なる抽象化レベルにあることを知っています。しかし、とにかく、私はまだそれらの関係が何であるか混乱しています。そして、そのタスクは仕事とスレッドを行う方法を教えてくれます実際に私の理解が正しいタスクinstance.Isに応じて仕事をexcute?Uに感謝^スレッドとタスクの関係は何ですか?

+7

タスクとは何ですか?それはJavaクラスですか? –

+0

私はそれが['java.util.concurrent.FutureTask'](http://download.oracle.com/javase/7/docs/api/java/util/concurrent/FutureTask.html)であると思います[この以前の質問](http://stackoverflow.com/questions/7412491/whether-method-cancel-and-method-interrupt-do-the-duplicate-job/7412704#7412704) –

+0

はい。そして私の理解、彼らはありがとうございましたか?ありがとうございました。 –

答えて

3

私はあなたがRunnableCallableを意味するタスクで想定しています。関係は単純です:複数タスク

  • かもしれないを実行するために使用される可能性があります

    スレッド - あなたも(タスクを実行するために別のスレッドを必要としないので、技術的には、すべてがスレッド内で実行されます。別途スレッドを必要としません)。

  • 複数の - スレッドは再利用できます。それは典型的には、1つのスレッドが(ほとんどの場合ラップするスレッドプール)ExecutorServiceに渡さRunnableThreadコンストラクタに渡された1つのまたは複数のCallable Sを実行

キュー

のようなコレクションから複数のタスクを実行することができます。

+0

ありがとうございます。私には意味があります。さらに、次のような質問があります。私はorg.apache.nutch.parse.ParseUtil.runParser(Parser p、コンテンツコンテンツ)のソースを読んでいます。 これらの2つのメソッド呼び出しは同じことを行いますか? 命令1: t.interrupt(); 命令2: task.cancel(true); –

+0

別の質問として投稿してください –

+0

トマス:彼は[既にしています](http://stackoverflow.com/questions/7412491/whether-method-cancel-and-method-interrupt-do-the-duplicate-job/7412704 #7412704)... 1時間前です。 –

0

Taskの場合は、thisのような意味ですが、タスクはスレッドのようなコードの実行に使用されますが、実行するタイミング、回数、オプションなどの追加プロパティがあります実行を取り消すことができますが、スレッドはただちにすぐに実行されます。

0

タスクはかなり抽象的であり、プロセスまたはスレッドとして実装できます。

0

ご理解の方が正しいです。

workflow patternsで類推できます。タスクはプロセス内で実行する必要があり、スレッドはプロセスや実行に使用されるリソースです。

+0

ありがとう、私はウルの意味を持っている –

関連する問題