首页 / JAVA / java实现多线程(下)
java实现多线程(下)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java实现多线程(下),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1296字,纯文字阅读大概需要2分钟。
内容图文
![java实现多线程(下)](/upload/InfoBanner/zyjiaocheng/829/62dbb636f6824c3e82387a95d50b43bc.jpg)
JDK5.0新增了两种线程创建方式:
新增方式一:实现Callable接口
1.与使用Runnable相比,Callable功能更强大:
>相比run()方法,可以有返回值
>方法可以抛出异常
>支持泛型的返回值
>需要借助FutureTask类,比如获取返回结果
2.创建流程:
①创建一个实现Callable的实现类
②实现call方法,将此线程需要执行的操作声明在call()中
③创建Callable接口实现类的对象
④将此Callable接口实现类的对象作为传递到FutureTask构造器中,创建FutureTask的对象
⑤将FutureTask的对象作为参数传递到Thread类的构造器中,创建Thread类,并调用start()
如果想有返回值,那么可以再增加⑥FutureTask的对象调用get()获取Callable实现类中的call重写方法的返回值。
新增方式二:使用线程池
线程池相关API:ExecutorService和Executors
1.ExecutorService:真正的线程池接口。创建子类ThreadPoolExecutor
>void exectute(Runnable command):执行命令,没有返回值,一般用来执行Runnable
><T>Future<T>submit(Callable<T>task):执行任务,有返回值,一般用来执行Callable
>void shutdown():关闭连接池
2.Executors:工具类、线程池的工厂类,用于创建并返回不同类型的线程池
>Executors.newCachedThreadPool():创建一个可根据需要创建新线程的线程池
>Executors.newFixedThreadPool(n):创建一个可重用固定线程数的线程池
>Executors.newSingleThreadExecutor():创建一个只有一个线程的线程池
>Executors.newScheduledThreadPool(n):创建一个线程池,它可安排在给定延迟后运行命令或定期执行。
内容总结
以上是互联网集市为您收集整理的java实现多线程(下)全部内容,希望文章能够帮你解决java实现多线程(下)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。