码迷,mamicode.com
首页 > 编程语言 > 详细

Java多线程

时间:2015-04-21 18:32:24      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:java   多线程   

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

一.继承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多线程

标签:java   多线程   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!