首页 > 编程语言 > 详细

Java多线程

时间:2015-04-21 18:29:58      阅读:243      评论:0      收藏:0      [点我收藏+]

在程序中启动一个新线程运行一段代码有两种方式

一.继承Thread类
1.子类覆盖父类中的run方法,将线程运行的代码存放在run中。
2.建立子类对象的同时线程也被创建。
3.通过调用start方法开启线程。

二.实现Runnable接口
1.子类覆盖接口中的run方法。
2.通过Thread类创建线程,并将实现了Runnable接口的子类对象作为参数传递给Thread类的构造函数。
3.Thread类对象调用start方法开启线程。

 

Thread常用方法:

start(); -->启动线程。

sleep(); -->线程休眠。

getName(); -->获取当前线程的名称。

currentThread(); -->获取当前线程对象。

interrupt(); -->中断线程的冻结状态,使线程回到运行状态,并抛出异常。

setPriority(int num);-->设置线程优先级。

setDaemon(boolean b); -->设置是否是守护线程,即后台线程,前台线程结束,守护线程自动结束。

join(); -->当A线程执行到B线程的join()方法时,A线程会等待B线程结束后,再继续执行。

yield(); -->放弃CPU控制权。

wait(); -->线程等待。

notify();-->唤醒第一个等待的线程。

notifyAll();-->唤醒所有等待的线程。

 

由于线程同步synchronized效率低,在JDK1.5中被Lock接口所替代。

 ReentrantLock实现了Lock接口,常被Lock实例化;一个Lock对象上允许创建多个Condition对象。

Lock常用方法:

lock(); -->加锁

unlock(); -->解锁

Condition常用方法:

await(); -->Condition上的线程等待。

signal(); -->唤醒Condition上第一个等待的线程。

signalAll(); -->唤醒Condition上所有等待的线程。


本文出自 “許妳柒世溫柔” 博客,请务必保留此出处http://wjyzxc.blog.51cto.com/5725897/1636595

Java多线程

原文:http://wjyzxc.blog.51cto.com/5725897/1636595

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!