CodeGym University
勉強
コース
タスク
アンケートとクイズ
ゲーム
ヘルプ
励ましのスケジュール
コミュニティ
ユーザー
フォーラム
チャット
記事
サクセスストーリー
アクティビティ
レビュー
サブスクリプション
ライトテーマ
レッスン
レビュー
会社紹介
開始
勉強を始める
今すぐ勉強をはじめる
クエストマップ
レッスン
すべてのクエスト
すべてのレベル
「待機、通知、すべて通知」戦略
モジュール 2: Java コア
レベル 12、
レッスン 7
「こんにちは、アミーゴ!」 「wait-notify について詳しく説明したいと思います。wait-notify メソッドは、スレッドが対話するための便利なメカニズムを提供します。また、スレッド対話のための複雑な高レベルのメカニズムを構築するために使用することもできます。」 「小さな例から始めます。Web サイトを通じてユーザーが作成したさまざまなタスクを実行する必要があるサーバー用のプログラムがあるとします。ユーザーはさまざまなタイミングでさまざまなタスクを追加できます。タ
いくつかのニュアンス
モジュール 2: Java コア
レベル 12、
レッスン 8
「こんにちは、アミーゴ!」 「そして、さらにいくつかの詳細があります。それを実践的なアドバイスと呼びましょう。」 「何かを待機し、条件が満たされるまでスリープするメソッドがあるとします。」 コレクションが空の場合は待機します public synchronized Runnable getJob()
同期とマルチスレッドに関するその他の詳細
モジュール 2: Java コア
レベル 12、
レッスン 9
「こんにちは、アミーゴ!」 「Java メモリ モデルという大きなトピックがあります。基本的に、それについてまだ知る必要はありませんが、聞いておくと役に立つでしょう。」 「潜在的な問題をすべて排除するために、Java はメモリ管理メカニズムを変更しました。現在では、メモリは単にスレッドのローカル キャッシュとグローバル メモリに分割されるだけではなく、メカニズムはさらに優れています。」 「そしてさらに複雑です!」 「はい、より良く、より複雑です。それは飛行機のようなものです。
教授からの役立つリンク — 16
モジュール 2: Java コア
レベル 12、
レッスン 10
「こんにちは、アミーゴ! 進捗状況を教えてください。今週は何を勉強しましたか?」 「エリー、リシ、ビラーボ博士、そして私はマルチスレッドについて話しました。たくさんのことを学びました!」 「親愛なる友人よ、私はあなたの理解をさらに広げるものがあると思います。もう少し理論が役立つでしょう。座ってください。私はあなたに言いたいことがあるのです。」 Java のマルチスレッド: その概要、利点、およびよくある落とし穴 プログラミングには、厳密な順序ではなく、同時に複数のアクションを
スレッドグループ
モジュール 2: Java コア
レベル 13、
レッスン 0
「こんにちは、アミーゴ!」 「スレッドのより徹底的な調査を開始する予定です。」 「スレッド グループの概念は、スレッドが他のスレッドごとに繰り返し停止したり中断したりするのを防ぐために導入されました。スレッドは、同じスレッド グループ内の他のスレッドにのみ影響を与えることができます。ThreadGroup は、スレッド グループを管理するためのクラスです。このアプローチにより、スレッドを保護できます。望ましくない変化から。」 「完全に信頼できないコードを実行しなければならない
スレッドの優先順位
モジュール 2: Java コア
レベル 13、
レッスン 1
「レッスンを続けましょう。スレッドの優先順位とは何ですか?また、それが必要な理由は何ですか?」 「実際の問題では、スレッドごとに実行される作業の重要性は大きく異なる可能性があります。スレッド優先度の概念は、このプロセスを制御するために作成されました。各スレッドには 1 から 10 までの数字で表される優先度があります。」 「10が最優先です。」 「1が最低です。」 「優先順位が指定されていない場合、スレッドには優先順位 5 (通常) が与えられます。」 スレッドの優先順位はそ
ファクトリーメソッドパターン
モジュール 2: Java コア
レベル 13、
レッスン 2
この時点で、おそらくすでにデザイン パターンに遭遇しているでしょう。たとえば、シングルトン。 パターンとは何か、パターンが必要な理由、作成パターンとは何か (シングルトンがその例です) を思い出してみましょう。新しいパターンであるファクトリーメソッドについても学習します。 ソフトウェア開発において、デザイン パターンは、繰り返し発生するコンテキスト内でのデザイン上の問題に対する解決策を表す、繰り返し可能なアーキテクチャ構造です。 通常、パターンはコードに直接変換できる最終的な
呼び出し可能と未来
モジュール 2: Java コア
レベル 13、
レッスン 3
ランナブルの問題 Runnableインターフェイスとそれを実装するThreadクラスについてはすでによく理解しています。このインターフェースがどのようなものかを思い出してみましょう。 public interface Runnable {
ExecutorService インターフェース
モジュール 2: Java コア
レベル 13、
レッスン 4
Executor インターフェイスが必要な理由は何ですか? Java 5 より前は、アプリケーション内で独自のコード スレッド管理をすべて記述する必要がありました。さらに、新しいスレッドobject はリソースを大量に消費する操作であり、軽量タスクごとに新しいスレッドを作成するのは意味がありません。そして、この問題はマルチスレッド アプリケーションのすべての開発者にとってよく知られた問題であるため、この機能をExecutorフレームワークとして Java に導入することにしま
ExecutorService の停止
モジュール 2: Java コア
レベル 13、
レッスン 5
簡単なプログラムを考えてみましょう。 public static void main(String[] args) throws Exception {
スレッドプールエグゼキュータ
モジュール 2: Java コア
レベル 14、
レッスン 0
マルチスレッド アプリケーションを開発するときは、通常、スレッドの作業を整理する必要があります。アプリケーションが大きくなり、マルチスレッドタスクに必要なスレッドが増えるほど、実行可能私たちが作るオブジェクト。 ここで、Java でのスレッドの作成はかなり高価な操作であることに注意してください。操作を実行するたびにスレッドの新しいインスタンスを作成すると、パフォーマンスに大きな問題が発生し、その結果、アプリケーションの健全性に大きな問題が発生します。 ここでスレッドプールとT
newSingleThreadExecutor メソッド
モジュール 2: Java コア
レベル 14、
レッスン 1
1 つのスレッドに ExecutorService が必要になるのはなぜですか? Executors.newSingleThreadExecutorメソッドを使用して、単一スレッドを含むプールを持つExecutorServiceを作成できます。プールのロジックは次のとおりです。 サービスは一度に 1 つのタスクのみを実行します。 N 個のタスクを実行のために送信すると、N 個のタスクすべてが単一のスレッドによって次々に実行されます。 スレッドが中断された場合は、残りのタスクを
さらに表示
1
...
18
19
20
21
22
...
35
Please enable JavaScript to continue using this application.