java多线程 Thread常用方法
sleep:
public static void sleep(long millis, int nanos)
// millis:休眠的毫秒数 // 可单独使用
// nanos:休眠的纳秒数 // 必须配合millis使用
使线程进入休眠状态,会抛出一个异常
yeild:
public static native void yield(); //礼让线程
使用此方法只是让运行的线程进入就绪状态,由处理器重新分配,礼让不一定会成功。
jolin:
public final void join() throws InterruptedException
此方法将正在执行的线程强制进入阻塞状态,线程运行结束后再继续执行其他线程(注意:使用此方法的线程如果进入阻塞状态,则系统会宕机)
getState:
public State getState() //观测线程状态
返回当前线程状态;
priority:
public final int getPriority() //查看线程的优先级
public final void setPriority(int newPriority) // 设置线程的优先级 注:默认优先级为5 取值范围1-10
设置优先级必须先设置再启动,否者无效
超出取值范围会报错 IllegalArgumentException()
daemon:
public final boolean isDaemon() 查看线程是否为守护线程
public final void setDaemon(boolean on) //设置线程为守护线程 只能设置为true
synchronized:
synchronized:放在方法中表示调用此方法需要先获得锁
synchronized(Object object){} 表示掉用此对象需要先获得此对象的锁
lock:
ReentrantLock lock = new ReentrantLock(); // 创建一个ReentrantLock对象
lock.lock(); // 加锁
.......
lock.unlock(); // 释放锁
欢迎补充…来自一个入门小白<!>