之前放在自己网站上的例子,因为网站关闭,已经找不到了,想用的时候,没有的话又重新翻书是很麻烦的事情。所以重新记录一下,以备将来查看。

第一种,让任务类继承Runable接口,然后将任务类对象放入Thread对象的构造器,通过Thread.start()方法执行调用。

package com.test.thread;

public class ThreadTest1 {
public static void main(String[] args) {
Thread thread = new Thread(new task(1));
thread.start();
    System.out.println("hello");
}
} class task implements Runnable { private final int taskid; public task(int taskid) {
this.taskid = taskid;
} public void run() {
System.out.println(this);
} @Override
public String toString() {
return "task [taskid=" + taskid + "]";
} }

执行结果:

hello
task [taskid=1]

第二种,就是第一种方式的改进,好处之一就是不用显示地创建Thread对象了,其他的好处还有,我不知道。这是JAVA SE5/6启动任务的优选方法。和方式一的区别,仅仅是main方法的区别:

ExecutorService exec = Executors.newCachedThreadPool();
exec.execute(new Task1(1));  

还有一种就是继承Thread类啦。并发编程太复杂了, 暂时写这么多把,以后用到的时候再说。

【Java基础】JAVA 使用线程的几种方式的更多相关文章

  1. 1.java多线程_实现线程的两种方式

    1.java多线程基本知识 1.1.进程介绍 不管是我们开发的应用程序,还是我们运行的其他的应用程序,都需要先把程序安装在本地的硬盘上.然后找到这个程序的启动文件, 启动程序的时候,其实是电脑把当前的 ...

  2. java多线程之创建线程的4种方式及Future

    Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.Java可以用四种方式来创建线程: 继承Thread创建线程 实现Runnable接口创建线程 实现callab ...

  3. Java多线程之创建线程的三种方式比较

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6560057.html  一:继承Thread类创建线程 1:继承Thread类定义线程子类: 2:重写run( ...

  4. JAVA·多线程:创建线程的两种方式

    1.–扩展java.lang.Thread类 package multiThread; public class Thread02extThread { public static void main ...

  5. java的线程、创建线程的 3 种方式、静态代理模式、Lambda表达式简化线程

    0.介绍 线程:多个任务同时进行,看似多任务同时进行,但实际上一个时间点上我们大脑还是只在做一件事情.程序也是如此,除非多核cpu,不然一个cpu里,在一个时间点里还是只在做一件事,不过速度很快的切换 ...

  6. Java并发基础01. 传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  7. Java基础-Java中23种设计模式之常用的设计模式

    Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...

  8. 0036 Java学习笔记-多线程-创建线程的三种方式

    创建线程 创建线程的三种方式: 继承java.lang.Thread 实现java.lang.Runnable接口 实现java.util.concurrent.Callable接口 所有的线程对象都 ...

  9. 【java并发】传统线程技术中创建线程的两种方式

    传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...

  10. Java并发编程:Java创建线程的三种方式

    目录 引言 创建线程的三种方式 一.继承Thread类 二.实现Runnable接口 三.使用Callable和Future创建线程 三种方式的对比 引言 在日常开发工作中,多线程开发可以说是必备技能 ...

随机推荐

  1. 求二叉搜索树的第k小的节点

    题目描述: /** * 给定一棵二叉搜索树,请找出其中的第k小的结点. * 例如, (5,3,7,2,4,6,8)中, * 按结点数值大小顺序第三小结点的值为4. * 这是层序遍历: * 5 * 3 ...

  2. 标准C语言(5)

    无法预知的数字叫随机数,rand标准函数可以用来获得随机数,为了使用这个标准函数需要包含stdlib.h头文件 srand标准函数用来设置随机数种子,这个函数把一个整数作为种子使用不同的种子可以得到不 ...

  3. 微信小程序 canIUse

    wx.canIUse(); 微信文档中定义在API中,可以理解为一个函数. 返回值: true 或者 false 示例: // 在JS文件的函数中进行使用 console.log(wx.canIUse ...

  4. BZOJ4641 基因改造[KMP]

    这道题以前好像模拟的时候做过,当时不会做,于是用hash水过去了.. 正解是KMP,还是用当前字符与上一次相同字符位置的距离表示数组,于是数值相等时就代表相似.第一次出现用INF代替. 然后要匹配有多 ...

  5. poj1830 开关问题[高斯消元]

    其实第一反应是双向BFS或者meet in middle,$2^{14}$的搜索量,多测,应该是可以过的,但是无奈双向BFS我只写过一题,已经不会写了. 发现灯的操作情况顺序不影响结果,因为操作相当于 ...

  6. Python中self的用法详解,或者总是提示:TypeError: add() missing 1 required positional argument: 'self'的问题解决

    https://blog.csdn.net/songlh1234/article/details/83587086 下面总结一下self的用法详解,大家可以访问,可以针对平时踩过的坑更深入的了解下. ...

  7. 【Linux学习一】命令行CLI、BASH的基本操作

    ●操作系统的基本结构 操作系统的基本结构通过Kernel(内核)和Shell(壳)构成.常见的Shell分为GUI和CLI GUI 图形方面的shell ------〉windows .mac osC ...

  8. vuex , 简单入(liao)门(jie)

    vuex什么 ? 官方的说法就是 vuex是专门为vue.js应用程序开发的 状态管理模式 .并采用集中式存储 , 管理应用的所有组件的状态 ,并以相同的规则保证状态以一种可预估的方式发生变化. 自己 ...

  9. CSS的相关知识——背景,超链接,列表,表格,奇偶选择器

    接着上一篇总结一些css的相关知识 ㈠背景 背景属性 1.background-color 背景颜色   rgb函数设置 2.background-image   背景图片  url(“logo.jp ...

  10. 计算机网络(八),TCP的滑动窗口

    目录 1.RTT和RTO 2.TCP使用滑动窗口做流量控制与乱序重排 3.滑动窗口的基本原理 八.TCP的滑动窗口 TCP头部中的窗口字段:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端 ...