プロセス(プロセス):プログラムを実行するためにメモリを入力するために「プログラムが実行されている」とは、プロセスとなります。複数のスレッドを生成しますプロセス。
マルチスレッド(マルチスレッド):いくつかの実行可能なプロセスが存在します。関数はシングルスレッド、マルチスレッド、マルチセグメント・コードの順序で実行されるが交互にしながら実行されます。コアCPUは、唯一つのスレッドを実行する時、CPUはすぐに複数のスレッドを切り替えます。
スレッドのスケジューリング:タイムシェアリングおよびプリエンプション。タイムシェアリングのスケジューリングは、スレッドごとに事前に割り当てられています。プリエンプティブスケジューリングは優先事項です。
マルチスレッドの実装 - 継承Threadクラス
パブリック クラス MyThreadスレッドを{延び // スレッドクラスから継承 パブリック MyThread(文字列名){ // コンストラクタコール親クラス スーパー(名前); } 公共 ボイドラン(){ // runメソッドをオーバーライドし、スレッドが実行されますタグは、runメソッド内に配置される ため(INT I = 0 ;私は< 20であり、私は++ ){ システム。OUT .println(のgetName()+ " :!が実行されている" + 。I); //にThread.currentThread()のgetNameを( );現在のスレッドのオブジェクトの名前を取得 } } }
パブリック クラスのテスト{ 公共の 静的な 無効メイン(文字列[] args)を{ MyThread MT = 新新 MyThread(" 私のスレッド" ); mt.start(); のため(int型 I = 0 ;私は< 20であり、私は++ ){ システム。OUT .println(" 主な機能のスレッド!" + I); } システム。OUTの .println(" 主な機能が実行終了" ); } }
運転結果から、CPUリソースへのスレッドによって二つのスレッドをつかむためには、かもしれ実行します。
Thread.currentThread()は、現在のスレッドオブジェクトを取得します
Thread.currentThread().getName();获取当前线程对象的名称