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

Java线程(一)

时间:2017-03-09 20:04:00      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:ack   交互   span   string   vol   处理器   释放   时间   targe   

Thread类  Runnable接口   run 方法

线程的创建:

Thread()

Thread(String name)

Thread(Runnable target)

Thread(Runnable target,String name)

线程的方法:

启动:void start()

休眠:

static void sleep(long millis)

static void sleep(long millis, int nanos)

使其他线程等待当前线程终止

void join() 必须要等待当前线程终止

void join(long millis)最长等待多长时间

void join(long millis, int nanos)时间可以精确到纳秒

当前运行线程释放处理器资源

static void yield()

获取线程引用:返回当前运行的线程引用

static Thread currentThread()

 

 

如何正确停止JAVA中的线程

不要用stop()方法,要使用退出标志,如while的停止条件,这样才能使线程完整的执行完并进行清理工作

 

线程的互斥:关键数据同一时间只能被一个线程使用

private final Object lockObj = Object();

synchronized(lockObj){

………………

}

线程的同步:是几个线程之间的交互过程,由于某些条件的不具备使得某线程处于等待的状态,在某个时间由于某些条件再次具备,发出消息,唤醒所有线程

wait()/notify()/notifyAll()  这三个方法属于Object

线程挑用Object.wait()时会释放掉锁,使得其他线程可以获得锁

volatile保证线程可以正确的读取其他线程写入的值(可见性问题),如果没有声明volatile有可能因为可见性问题不能正确读到

Java线程(一)

标签:ack   交互   span   string   vol   处理器   释放   时间   targe   

原文地址:http://www.cnblogs.com/atingjia/p/6527103.html

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