java 大道至简--多线程(4)

 java 大道至简--多线程(4)

内容目录:

    Thread 类函数详解

正文:

   Static int enumerate(Thread[] threads)  -- 将线程组添加到复制到指定线程组中

例子:

 package com.redis.chat;

public class Hello{
public static void main(String[] args) {
int count = Thread.activeCount();
Thread[] ts = new Thread[count];
System.out.println("复制前的线程数量====>"+ts.length);
int count_new = Thread.enumerate(ts);
System.out.println("复制后的线程数量====>"+count_new);
}

}

结果:

复制前的线程数量====>1

复制后的线程数量====>1


long setId(int priority)/getId() -- 获取线程唯一标识

String setName(String naeme/getName() -- 获取线程名称

String setPriority(int priority)/getPriority() -- 获取线程优先级

例子:

   package com.redis.chat;
public class Hello{
public static void main(String[] args) {
Thread t = Thread.currentThread();
t.setName("admin main");
t.setPriority(Thread.MIN_PRIORITY);
System.out.println("Thread===>id==>"+t.getId()+"name===>"+t.getName() + "===>>priority ==>>"+t.getPriority());
}

}

结果:

Thread===>id==>1name===>admin main===>>priority ==>>1


static boolean holdsLock(Object obj) -- 当前线程能否获得指定的对象的锁

例子:

package com.redis.chat;
public class Hello{
static Object a = "a";
public static void main(String[] args) {
Thread t = Thread.currentThread();
boolean b = t.holdsLock(a);
System.out.println(b);
synchronized(a){
boolean c = t.holdsLock(a);
System.out.println(c);
}
}

}

结果:

false

true


static boolean interrupted() -- 判断线程是否中断

boolean isInterrupted() -- 判断线程是否中断

boolean isAlive() -- 获取线程名称

例子:

package com.redis.chat;
public class Hello{
static Object a = "a";
public static void main(String[] args) {
Thread t = Thread.currentThread();
boolean alive = t.isAlive();
System.out.println(alive);
boolean interrupted = t.interrupted();
if(!interrupted){
System.out.println(interrupted);
System.out.println("哈哈,我没有被终端");
}
}
}

结果:

true
false
哈哈,我没有被终端

猜你喜欢

转载自blog.csdn.net/xianghan_qq/article/details/80585269