博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于线程的创建方式,线程池的作用
阅读量:5736 次
发布时间:2019-06-18

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

线程的创建方式:

  1、线程继承Thread类,通过该对象的start()方法启动线程

  2、线程实现Runnable接口,通过往Thread类构造传入Runnable对象,thread.start()启动线程。

  3、线程实现Callable接口。Callable相当于run方法有返回值的Runnable,与Future结合使用(接收返回值使用Future)。

    

 

 使用过的例子:

package thread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/** * @author zhen * @Date 2018/11/14 10:43 */public class TestThread {    public  static void main(String[] args) throws ExecutionException, InterruptedException {        FutureTask
future = new FutureTask<>(new T3()); new Thread(future).start(); if (future.get() != ""){ System.out.println(future.get()); } }}class T1 extends Thread{ @Override public void run() { System.out.println(1); }}class T2 implements Runnable{ @Override public void run() { }}class T3 implements Callable
{ @Override public String call() throws Exception { return "hello"; }}

 

 

线程池的使用,为什么使用线程池?

  复用线程,使用工作队列,避免无限制创建线程。重用线程降低开销,请求到达时,线程已存在,减少创建线程的等待时间,提高响应性。

 

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

你可能感兴趣的文章
编程的智慧(转)
查看>>
《网站情感化设计与内容策略》一1.6 情感和记忆
查看>>
pandas 的Series 里经常会出现DatetimeIndex这个类
查看>>
SQL SERVER 2012 只能识别20个CPU的问题
查看>>
【单调队列】【P1776】宝物筛选
查看>>
使用shell脚本生成数据库markdown文档
查看>>
centos和pycharm中取绝对路径的差别
查看>>
ext2磁盘布局
查看>>
MySql数据库2【常用命令行】
查看>>
动态规划---->货郎担问题
查看>>
添加虚拟子网
查看>>
Ubuntu 12.04 root用户登录设置
查看>>
存储过程点滴
查看>>
Maven编译跳过test的设置
查看>>
SQLyog图形化l数据库的操作和学习
查看>>
[LeetCode]22.Generate Parentheses
查看>>
WEB前端 CSS选择器
查看>>
计算A/B Test需要的样本量
查看>>
二叉树前序中序后序遍历的非递归方法
查看>>
mysql 行转列列转行
查看>>