博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java多线程的3种写法
阅读量:6588 次
发布时间:2019-06-24

本文共 3276 字,大约阅读时间需要 10 分钟。

1.Thread

/** *  */package testJava2.thread;/** * @author xxx.sjtu * @function * @date 2017年5月17日 * @version */public class FirstThreadTest extends Thread {    int i = 0;    public FirstThreadTest(int i) {        super();        this.i = i;    }    public FirstThreadTest() {        super();        // TODO Auto-generated constructor stub    }    public FirstThreadTest(Runnable target, String name) {        super(target, name);        // TODO Auto-generated constructor stub    }    public FirstThreadTest(Runnable target) {        super(target);        // TODO Auto-generated constructor stub    }    public FirstThreadTest(String name) {        super(name);        // TODO Auto-generated constructor stub    }    public FirstThreadTest(ThreadGroup group, Runnable target, String name,            long stackSize) {        super(group, target, name, stackSize);        // TODO Auto-generated constructor stub    }    public FirstThreadTest(ThreadGroup group, Runnable target, String name) {        super(group, target, name);        // TODO Auto-generated constructor stub    }    public FirstThreadTest(ThreadGroup group, Runnable target) {        super(group, target);        // TODO Auto-generated constructor stub    }    public FirstThreadTest(ThreadGroup group, String name) {        super(group, name);        // TODO Auto-generated constructor stub    }    // 重写run方法,run方法的方法体就是现场执行体    public void run() {        //当前线程: this        System.out.println(this.getName() + "  " + i);    }    public static void main(String[] args) {        System.out.println(Thread.currentThread().getName());        new FirstThreadTest(888).start();    }}

 

2.Runnable

/** *  */package testJava2.thread;/** * @author xxx.sjtu * @function * @date 2017年5月17日 * @version */public class RunnableThreadTest implements Runnable {    private int i;    public RunnableThreadTest() {        super();        // TODO Auto-generated constructor stub    }    public RunnableThreadTest(int i) {        super();        this.i = i;    }    @Override    public void run() {        //当前线程: Thread.currentThread()        System.out.println(Thread.currentThread().getName() + " " + i);    }    public static void main(String[] args) {        System.out.println(Thread.currentThread().getName());        RunnableThreadTest rtt = new RunnableThreadTest(999);        new Thread(rtt, "新线程1").start();    }}

 

3.Callable

/** *  */package testJava2.thread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/** * @author xxx.sjtu * @function * @date 2017年5月17日 * @version */public class CallableThreadTest implements Callable
{ @Override public Integer call() throws Exception { int i = 2017; System.out.println(Thread.currentThread().getName() + " " + i); return i; } public static void main(String[] args) { CallableThreadTest ctt = new CallableThreadTest(); FutureTask
ft = new FutureTask<>(ctt); new Thread(ft, "有返回值的线程").start(); try { System.out.println("子线程的返回值:" + ft.get()); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } }}

 

转载地址:http://eahno.baihongyu.com/

你可能感兴趣的文章
深度学习框架中的魔鬼:探究人工智能系统中的安全问题
查看>>
又发生了重新造轮子的行为
查看>>
Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法
查看>>
使用Docker Swarm来运行服务
查看>>
基于微服务和Docker容器技术的PaaS云平台架构设计
查看>>
openstack nova 源码解析 — Nova API 执行过程从(novaclient到Action)
查看>>
自行车中的物理知识汇总
查看>>
阿里云虚拟主机的使用,附幸运券领取
查看>>
数据库相关中间件收录集
查看>>
阿里云王坚:运营才能缔造真正的云计算
查看>>
C语言数据结构双向链表之温故而知新
查看>>
Java中类的创建及类与对象的关系
查看>>
大规模虚拟化,舍我其谁?
查看>>
“提速降费” 并非一蹴而就 矛头齐指运营商有失偏颇
查看>>
云计算99.9%可用性毫无意义 灾难恢复是关键
查看>>
生命科学研究需求推动云计算发展
查看>>
应用联合服务 云计算拉近应用和操作距离
查看>>
英国政府采用开源办公套件“GovOffice”
查看>>
赛门铁克分家前利润暴跌
查看>>
质数分布是否随机关乎安全大事
查看>>