java多线程 Thread类常用方法

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(); // 释放锁

欢迎补充…来自一个入门小白<!>

上一篇:iOS 开发之 OOA (面向对象分析) & OOD (面向对象设计)& OOP (面向对象编程)


下一篇:Sharding-JDBC读写分离案例