多线程实现方式

Java:

实现多线程方式 3种

package duoxiancheng;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
importj ava.util.concurrent.FutureTask;

public class UseThread {

	public static void main(String[] args) {
		//MyThreadmyThread = new MyThread();
		//myThread.start();
		//Thread thread = new Thread(new MyRunnable());
		//thread.start();
		FutureTask<Integer>futureTask = newFutureTask<Integer>(newMyCallable());
		new Thread(futureTask).start();
		for(int i = 0;i< 10;i++){
			System.out.println(Thread.currentThread().getName() + i);
		}
		try {
			intsum = futureTask.get();
			System.out.println(sum);
		} catch (InterruptedException | ExecutionExceptione) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

class MyThread extends Thread{
	public void run(){
		for(int i = 0;i< 10;i++){
			System.out.println(Thread.currentThread().getName() + i);
		}
	}
}

class MyRunnable implements Runnable{

	@Override
	public void run() {
		for(int i = 0;i< 10;i++){
			System.out.println(Thread.currentThread().getName() + i);
		}
	}
}

class MyCallable implements Callable<Integer>{

	@Override
	public Integer call() throws Exception {
		int sum = 0;
		for(int i = 0;i< 10;i++){
			System.out.println(Thread.currentThread().getName() + i);
			sum+=1;
		}
		return sum;
	}
	
}

android:

class MyHandler extends Handler {
        private WeakReference<MainActivity>  mActivity;

        BarrageHandler(MainActivity activity) {
            mActivity = new WeakReference<MainActivity>(MainActivity);
        }
          @Override
          public void handleMessage(Message msg) {
              switch (msg.what) {
                  case MSG_DO_SOME:
                      (具体操作)
                      break;
              }
          }
     }
 
     Handler h = new MyHandler();
     h.sendEmptyMessage();
发布了57 篇原创文章 · 获赞 3 · 访问量 6195

猜你喜欢

转载自blog.csdn.net/qq_39830579/article/details/102386581