Java线程(一)

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有可能因为可见性问题不能正确读到

posted @ 2017-03-09 18:30  小刀是超人!  阅读(99)  评论(0编辑  收藏  举报