java多线程(1)Thread和Runnable
来源:互联网 发布:矿用道夹板数据 编辑:程序博客网 时间:2024/05/29 13:56
在java开发中不可避免用到多线程情况,比如web中常见的Servlet、Struts2都是运用到多线程,多线程的根本目的是为了更快的执行。其他常用到的多线程比如设计到大量I/O操作,用多线程可明显提升效率。java中最基础的并发类就是Runnable.class,Runnable是一个接口,只要实现实现Runnables,重写方法run() 就可以实现多线程操作。
举个实现Runnable的例子:
public class LiftOff implements Runnable { protected int countDown = 10; // Default private static int taskCount = 0; private final int id = taskCount++; public LiftOff() {} public LiftOff(int countDown) { this.countDown = countDown; } public String status() { return "#" + id + "(" + (countDown > 0 ? countDown : "Liftoff!") + "), "; } public void run() { while(countDown-- > 0) { System.out.print(status()); Thread.yield(); } }} ///:~
从这个例子中,可以看出在java中多线程的实现多线程是很简单的事,但是多线程的学习是易懂难通,会遇见死锁、逻辑混乱等各类问题,所以使用多线程必须慎之又慎。
Runnable之后有一个基础的并发类就是Thread.class,Thread就是实现了Runnable的一个类,但是在Runnable的基础上新增了一些方法包括:线程优先级、后台线程、分组、命名等,还是非常实用的。
举个Thread例子:
public static void main(String[] args) { Thread t1 = new Thread(new LiftOff()); t1.start();}
因此我们一般使用多线程可以实现Runnable.class或者继承Thread.class。一般采用继承Runnable即可,这样还可以继承其他的类
好了本次文章就到这来,简单地说明了java多线程的一些知识,下次会关于多线程方法更深入的阐述。
1 0
- java多线程(1)Thread和Runnable
- java多线程 Thread 和Runnable
- java多线程 Thread 和Runnable
- java多线程Thread和Runnable
- Java多线程--Runnable和Thread
- Java -- Thread 和 Runnable 多线程
- java 多线程(Thread,Runnable)
- Java多线程--认识多线程(Thread、Runnable)
- java多线程总结笔记1——Runnable和Thread
- Java多线程学习笔记1(Thread 和 Runnable)
- JAVA多线程:Thread、Runnable
- java笔记(五):多线程--Thread和Runnable
- java 多线程 Thread和Runnable的区别
- java多线程 Runnable和Thread区别
- 关乎Java多线程+Runnable和Thread…
- 关于JAVA多线程Runnable和Thread
- java多线程中Runnable和Thread
- Java多线程Thread和Runnable的区别
- 使用mybatis自带工具,自动生成表对应domain、mapper.xml以及dao
- 安装PyGraphics包 (python import media模块)(ampy文件在我这里下载就行,原文链接失效)
- 闭包理解
- HDU
- Linux基础之kickstart 自动安装
- java多线程(1)Thread和Runnable
- springmvc @RestController restful风格的用法
- BeAlert 一款alert和confirm美化插件(优化)
- session的钝化和活化
- 3.Springboot 之 文件结构和配置文件
- Mybatis 3.1中 Mapper XML 文件 的学习详解
- Hibernate异常: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [from User]
- Java基础知识_day8_(字符串)
- Android Log的封装