Skip to Content
Java クックブック、第 4 版
book

Java クックブック、第 4 版

by Ian F. Darwin
May 2025
Intermediate to advanced
638 pages
10h 22m
Japanese
O'Reilly Media, Inc.
Content preview from Java クックブック、第 4 版

第16章. スレッドJava

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

16.0 はじめに

私たちは複数の活動が混在する世界に生きている。人は落書きをしながら、あるいはメモを読み取りながら電話で話しているかもしれない。複合オフィスマシンは、ファックスをスキャンしながら別のファックスを受信し、誰かのコンピューターから文書を印刷するかもしれない。私たちが使っているGUIプログラムは、画面を更新しながらメニューに対応できることを期待している。しかし、通常のコンピューター・プログラムは、一度にひとつのことしかできない。従来のコンピュータ・プログラミング・モデルは、繰り返しループと二項対立の意思決定によって中断されながら、次から次へと記号を書くというもので、その本質は逐次的なものである。

シーケンシャルな処理は簡単だが、効率はそれほど良くない。パフォーマンスを向上させるために、Javaはスレッディングを提供している。スレッディングとは、単一アプリケーションまたはプロセス内で複数の制御フローを処理する機能である。Javaはスレッドサポートを提供し、実際、スレッドを必要とする。Javaランタイム自体が本質的にマルチスレッドなのだ。たとえば、ウィンドウ・システムのアクション処理とJavaのガベージ・コレクションは、C言語レベルかそれ以下の言語で作業しているときに他の人がしなければならないように、割り当てたものすべてを解放する必要がないようにする奇跡のようなもので、別々のスレッドで実行される。

マルチタスクによって、単一のオペレーティングシステムが、単一プロセッサーのコンピューター上で同時に複数のプログラムを実行しているように見せることができるように、マルチスレッドによって、単一のプログラムやプロセスが、同時に複数のことに取り組んでいるように見せることができる。マルチスレッディングは、よりインタラクティブなグラフィックスや、より応答性の高いGUIアプリケーション(プログラムはメニューに応答しながらウィンドウに描画することができ、両方のアクティビティは多かれ少なかれ独立して発生する)、より信頼性の高いネットワークサーバー(1つのクライアントが何か問題を起こしても、サーバーは他のクライアントとの通信を継続する)などにつながる。

前の段落では「マルチプロセッシング」とは言っていないことに注意してほしい。マルチタスクという用語は誤ってマルチプロセシングと呼ばれることがあるが、この用語は実際には別の問題を指している。それは、2つ以上のCPUが1つのor演算子の下で動作する場合である。1970年代にはIBMのメインフレームが、1980年代にはサンのSPARCstationsが、1990年代にはインテルのPCがそうだった。2010年代半ば以降、腕時計よりも大きなパッケージに収められた単一プロセッサ・コンピューターを購入することはますます難しくなっている。 真のマルチプロセッシングでは、複数のCPUで複数のプロセスを同時に実行することができる。Javaのスレッドサポートには、オペレーティングシステムがサポートしている限り、マルチプロセシングが含まれている。詳細については、システムのドキュメントを参照のこと。

最近のほとんどのオペレーティングシステムはスレッドを提供しているが、Javaは、言語にスレッド演算の本質的なサポートを組み込んだ最初の主流プログラミング言語である。すべてのオブジェクトがインスタンスである ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

最新の Java レシピ

最新の Java レシピ

Ken Kousen
Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Javaによる関数型プログラミング ―Java 8ラムダ式とStream

Venkat Subramaniam, 株式会社プログラミングシステム社
MySQL クックブック、第 4 版

MySQL クックブック、第 4 版

Sveta Smirnova, Alkin Tezuysal

Publisher Resources

ISBN: 9798341650336