#スレッドの作成方法
/* * 继承Thread类创建线程 * 1、重写run方法 * 2、创建thread类的实例,即创建线程对象 * 3、调用线程对象的start()来启动该线程 * 注意:Thread类的每个进程之间不能共享该实例变量;具有单继承局限 * */ public class StartThread extends Thread{ private int i; @Override //重写run方法 public void run() { // TODO Auto-generated method stub for(i=0;i<10;i++) { System.out.println(getName()+" "+i); } } public static void main(String[] args) { for(int i=0;i<10;i++) { System.out.println(Thread.currentThread().getName()+ " ,"+i); //创建thread类的实例 StartThread h1=new StartThread(); StartThread h2=new StartThread(); if(i==2) { //启动第一个进程 h1.start(); //启动第二个进程 h2.start(); } } } }
2. Runnable() インターフェイスを上書きしてマルチスレッドを実装し、run() もオーバーライドします
Runnable ()Interface 実装クラスを定義し、Run() メソッドをオーバーライドします。 Runnable 実装クラスのインスタンスを作成し、このインスタンスを Thread のターゲットとして使用して Thread オブジェクトを作成します。この Thread オブジェクトは実際のスレッド オブジェクトですスレッド オブジェクトの start() メソッドを呼び出してスレッドを開始します/*创建线程方式二 * 1、创建:实现Runnable+重写run * 2、启动:创建实现类对象+Thread对象+start * * 注意:推荐使用,避免单继承的局限性,优先使用接口 * 方便共享资源 * */ public class MyThread2 implements Runnable {//实现Runnable接口 public void run(){ //重写run方法 // TODO Auto-generated method stub //当线程类实现Runnable接口时 //如果想要获取当前线程,只能使用Thread.currentThread方法 for(;i<100;i++) { System.out.println(Thread.currentThread().getName()+" "+i); } } public class Main { public static void main(String[] args){ //启动线程1 //不像继承Thread类一样,直接可以实例化对象即可,Runnable接口必须要 //先创建实例,再将此实例作为Thread的target来创建Thread对象 //创建并启动线程 MyThread2 myThread=new MyThread2(); Thread thread=new Thread(myThread); thread().start(); //或者 new Thread(new MyThread2()).start(); } }
3。Callable と Future を使用してスレッドを作成します
Runnable インターフェイスとは異なり、Callable インターフェイスはスレッドの実行本体として call() メソッドを提供します。call() メソッドは run() メソッドよりも強力です。 call() メソッドは戻り値を持つことができますcall() メソッドは例外をスローすることを宣言できますpublic class Main { public static void main(String[] args){ MyThread3 th=new MyThread3(); //使用Lambda表达式创建Callable对象 //使用FutureTask类来包装Callable对象 FutureTask<Integer> future=new FutureTask<Integer>( (Callable<Integer>)()->{ return 5; } ); //实质上还是以Callable对象来创建并启动线程 new Thread(task,"有返回值的线程").start(); try{ //get()方法会阻塞,直到子线程执行结束才返回 System.out.println("子线程的返回值:"+future.get()); }catch(Exception e){ ex.printStackTrace(); } } }関連記事チュートリアルの推奨事項:
以上がJavaでスレッドを作成するにはいくつかの方法がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Javaはプラットフォーム固有の問題をどのように軽減しますか? Javaは、JVMおよび標準ライブラリを通じてプラットフォームに依存します。 1)bytecodeとjvmを使用して、オペレーティングシステムの違いを抽象化します。 2)標準のライブラリは、パスクラス処理ファイルパス、CHARSETクラス処理文字エンコードなど、クロスプラットフォームAPIを提供します。 3)最適化とデバッグのために、実際のプロジェクトで構成ファイルとマルチプラットフォームテストを使用します。

java'splatformentencentenhancesmicroservicesecturectureby byofferingdeploymentflexability、一貫性、スケーラビリティ、およびポート可能性。1)展開の展開の展開は、AllosmicRoserviThajvm.2)deploymentflexibility lowsmicroserviceSjvm.2)一貫性のあるAcrossServicessimplisimpligiessdevelisementand

Graalvmは、Javaのプラットフォームの独立性を3つの方法で強化します。1。言語間の相互運用性、Javaが他の言語とシームレスに相互運用できるようにします。 2。独立したランタイム環境、graalvmnativeimageを介してJavaプログラムをローカル実行可能ファイルにコンパイルします。 3.パフォーマンスの最適化、Graalコンパイラは、Javaプログラムのパフォーマンスと一貫性を改善するための効率的なマシンコードを生成します。

aeffectivelytestjavaapplicationsforformcompativity、followthesesteps:1)setupautomatedacrossmultipleplatformsusingsingcitoolslikejenkinsorgithubactions.2)divivisonmanualtingonrealhardwaretocatissusuessususus.3)

Javaコンパイラは、ソースコードをプラットフォームに依存しないバイトコードに変換することにより、Javaのプラットフォームの独立性を実現し、JVMがインストールされた任意のオペレーティングシステムでJavaプログラムを実行できるようにします。

bytecodeachievesplatformedentencedexedectedbyavirtualMachine(VM)、forexApplev.forexample、javabytecodecanrunrunrunnonydevicewithajvm、writeonce、runany "ferfuctionality.whilebytecodeOffersenhの可能性を承認します

Javaは100%のプラットフォームの独立性を達成することはできませんが、そのプラットフォームの独立性はJVMとBytecodeを通じて実装され、コードが異なるプラットフォームで実行されるようにします。具体的な実装には、次のものが含まれます。1。bytecodeへのコンパイル。 2。JVMの解釈と実行。 3。標準ライブラリの一貫性。ただし、JVMの実装の違い、オペレーティングシステムとハードウェアの違い、およびサードパーティライブラリの互換性は、プラットフォームの独立性に影響を与える可能性があります。

Javaは、「Write onse、Averywhere」を通じてプラットフォームの独立性を実現し、コードの保守性を向上させます。 2。メンテナンスコストが低いため、1つの変更のみが必要です。 3.チームのコラボレーション効率が高く、知識共有に便利です。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









