A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小白进阶之路 高级黑马   /  2017-12-27 21:54  /  1142 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1)继承Thread类的子类:

class FirstThread extends Thread{
    @Override
    public void run() {
        System.err.println("first thread.");
    }
}
new FirstThread().start();
2)实现Runnable接口

class SecondThread implements Runnable{
    @Override
    public void run() {
        System.err.println("second thread.");
    }
}
new Thread(new SecondThread()).start();
3)实现Callable接口来创建Thread线程

class ThreeCallable implements Callable<Integer>{
    @Override
    public Integer call() throws Exception {
        int i = 0;
        for(;i<100;i++)
        {
            System.out.println(Thread.currentThread().getName()+" "+i);
        }
        return i;
    }
}
ThreeCallable threeCallable = new ThreeCallable();
FutureTask<Integer> ft = new FutureTask<Integer>(threeCallable);
new Thread(ft).start();
System.err.println("ft:"+ft.get());
4)利用线程池创建多线程的方式

Executors.newFixedThreadPool(3).execute(new Runnable() {
    @Override
    public void run() {
        System.out.println("newFixedThreadPool_" + Thread.currentThread().getName());
    }
});
Executors.newCachedThreadPool().execute(new Runnable() {
    @Override
    public void run() {
        System.out.println("newCachedThreadPool_" + Thread.currentThread().getName());
    }
});
Executors.newScheduledThreadPool(3).execute(new Runnable() {
    @Override
    public void run() {
        System.out.println("newScheduledThreadPool_" + Thread.currentThread().getName());
    }
});
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马