1. 程式人生 > >Java多線程Thread常用方法

Java多線程Thread常用方法

HR 設置 inter ack AR trac dex exception trace

  • 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常用方法