java开发中不可避免用到多线程状况,好比web中常见的Servlet、Struts2都是运用到多线程,多线程的根本目的是为了更快的执行。其余经常使用到的多线程好比设计到大量I/O操做,用多线程可明显提高效率。
java中最基础的并发类就是Runnable.class,Runnable是一个接口,只要实现实现Runnables,重写方法run() 就能够实现多线程操做。java
举个实现Runnable的例子:web
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(); } } } ///:~
public static void main(String[] args) { Thread t1 = new Thread(new LiftOff()); t1.start(); }
从这个例子中,能够看出在java中多线程的实现多线程是很简单的事,可是多线程的学习是易懂难通,会碰见死锁、逻辑混乱等各种问题,因此使用多线程必须慎之又慎。
Runnable以后有一个基础的并发类就是Thread.class,Thread就是实现了Runnable的一个类,可是在Runnable的基础上新增了一些方法包括:线程优先级、后台线程、分组、命名等,仍是很是实用的。多线程
所以咱们通常使用多线程能够实现Runnable.class或者继承Thread.class.通常使用Runnable便可这样还能够继承其余类并发
好了本次文章就到这来,简单地说明了java多线程的一些知识,下次会关于多线程方法更深刻的阐述。学习