时间:2021-05-19
java 实现多线程的三种方法
在java中,有三种方法可以实现多线程。第一种方法:继承Thread类,重写run函数。第二种方法:实现Runnable接口,重写run函数。第三种方法:实现Callable接口,重写call函数。本文章将通过实例讲解这三种方法如何实现多线程。需要的可以参考一下。
(1)继承Thread类,重写run函数。
class xx extends Thread{ public void run(){ Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源 }}开启线程:
对象.start() //启动线程,run函数运行
(2)实现Runnable接口,代码如下
class MyThread implements Runnable { private String name; public MyThread(String name) { super(); this.name = name; } @Override public void run() { for(int i = 0 ; i < 200; i++) { System.out.println("Thread"+name+"--->"+i); } }}public class ThreadDemo { public static void main(String[] args) { MyThread a = new MyThread("a"); MyThread b = new MyThread("b"); MyThread c = new MyThread("c"); new Thread(a).start(); new Thread(b).start(); new Thread(c).start(); }}(3)实现Callable接口,重写call函数
Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。
Callable和Runnable有几点不同:
Java Callable 代码示例:
class TaskWithResult implements Callable<String> { private int id; public TaskWithResult(int id) { this.id = id; } @Override public String call() throws Exception { return "result of TaskWithResult " + id; }}public class CallableTest { public static void main(String[] args) throws InterruptedException, ExecutionException { ExecutorService exec = Executors.newCachedThreadPool(); ArrayList<Future<String>> results = new ArrayList<Future<String>>(); //Future 相当于是用来存放Executor执行的结果的一种容器 for (int i = 0; i < 10; i++) { results.add(exec.submit(new TaskWithResult(i))); } for (Future<String> fs : results) { if (fs.isDone()) { System.out.println(fs.get()); } else { System.out.println("Future result is not yet complete"); } } exec.shutdown(); }}感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java多线程的几种实现方法总结1.多线程有几种实现方法?同步有几种实现方法?多线程有两种实现方法,分别是继承Thread类与实现Runnabl
Java中CountDownLatch进行多线程同步详解CountDownLatch介绍在前面的Java学习笔记中,总结了Java中进行多线程同步的几个方法:1
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题。一.一个典型的Java线程安全例子publicclassThreadTest{publics
java多线程实现方式主要有两种:继承Thread类、实现Runnable接口1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现
这篇是Java多线程基本用法的一个总结。本篇文章会从一下几个方面来说明Java多线程的基本用法:如何使用多线程如何得到多线程的一些信息如何停止线程如何暂停线程线