1. 程式人生 > 實用技巧 >Java(29):程序與執行緒

Java(29):程序與執行緒

public class Demo1 {

    public static void main(String[] args) {
        
        Thread myThread = new MyThread();
        myThread.start();
        
        MyRunnable myRunnable = new MyRunnable();
        Thread thread = new Thread(myRunnable);
        thread.start();
        
    }
    
}


class
MyThread extends Thread { @Override public void run() { System.out.println("MyThread : "+ Thread.currentThread().getName()); } } class MyRunnable implements Runnable { @Override public void run() { System.out.println("MyRunnable : "+ Thread.currentThread().getName()); } }
public class Demo2 {

    public static void main(String[] args) {
        
        String age = new String("12");
        ThreadA a = new ThreadA(age);
        a.start();
        
    }
    
}


class ThreadA extends Thread {
    private String age;
    public ThreadA(String age) {
        this.age = age;
    }
    @Override
    
public void run() { System.out.println("age = "+age); } }
import java.util.concurrent.Callable;

public class Demo3 {

    public static void main(String[] args) {
        
        MyCallable myCallable = new MyCallable("張方興");
        String call = null;
        
        try {
            call = myCallable.call();
        }catch(Exception e) {
            e.printStackTrace();
        }
        
        System.out.println(call);
    }
    
}


class MyCallable implements Callable<String> {
    private String name;
    public MyCallable(String name) {
        this.name = name;
    }
    
    @Override
    public String call() throws Exception {
        return "call : " + name;
    }
}

參考:https://zhuanlan.zhihu.com/p/107479862