標籤:class rri 執行 extends star set static 停止 ati
- getName():擷取此線程的名字
- setName():設定此線程的名字
- currentThread():靜態,調取當前的線程
- run():子線程要執行的代碼放入run()方法中
- start():啟動線程並執行相應的run()方法
package com.yyx.test;public class TestThread { public static void main(String[] args) { ThreadDemo thread1 = new ThreadDemo(); thread1.setName("線程一"); ThreadDemo thread2 = new ThreadDemo(); thread2.setName("線程二"); thread1.start(); thread2.start(); }}class ThreadDemo extends Thread { @Override public void run() { for (int i = 1; i <= 20; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); } }}
- join():在A線程中調用B線程的join()方法,表示:當執行到此方法,A線程停止執行,直至B線程執行完畢
- sleep(long l):顯式的讓當前線程睡眠l毫秒
package com.yyx.test;public class TestThread { public static void main(String[] args) { ThreadDemo thread = new ThreadDemo(); thread.setName("線程一"); thread.start(); for(int j=1;j<=20;j++) { Thread.currentThread().setName("主線程"); System.out.println(Thread.currentThread().getName() + ":" + j); if(j==10) { try { thread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } } }}class ThreadDemo extends Thread { @Override public void run() { for (int i = 1; i <= 20; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }}
Java多線程Thread常用方法