0%

Java多线程

Java多线程的实现方式:1 继承Thread类;2 实现Runnable接口

1 Thread类API介绍

1
// 创建
2
Thread thread = New Thread();
3
Thread thread = New Thread(String name);
4
Thread thread = New Thread(Runnable target);
5
Thread thread = New Thread(Runnable target, String name);
6
7
// 动态方法
8
thread.isAlive();// 测试线程是否处于活动状态
9
thread.start();// 开始执行线程,JVM 调用该线程的 run 方法
10
thread.setName(String name);// 改变线程名称
11
thread.getName();// 获取线程名称
12
thread.setPriority(int priority);// 更改线程的优先级
13
/* 具有较高优先级的线程应该在低优先级的线程之前分配处理器时间,然而,线程优先级不能保证线程执行的顺序,而且非常依赖于平台
14
   Thread.MIN_PRIORITY    1
15
   Thread.NORM_PRIORITY   5(默认)
16
   Thread.MAX_PRIORITY    10     */
17
thread.getPriority();// 获取线程的优先级
18
thread.setDaemon(boolean on);// 将该线程标记为守护线程。守护线程是服务提供者线程,当 JVM 检测到应用程序中的所有线程都只是守护线程时,它将退出应用程序
19
thread.isDaemon();// 测试是否为守护线程
20
thread.join(long millisec);// 等待该线程终止的时间。假设有两个线程 t1 和 t2,如果线程 t1 调用 t2.join(),线程 t1 开始等待,直到线程 t2 终止,t1 才会继续执行
21
thread.interrupt();// 尝试中断线程
22
23
// 静态方法
24
Thread.currentThread();// 返回对当前正在执行的线程对象的引用
25
Thread.yield();// 尝试暂停当前正在执行的线程对象,并执行其他线程。该线程放弃当前对处理器的使用 
26
Thread.sleep(long millisec);// 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)。如果线程在进入休眠之前拥有锁的所有权,则它在休眠期间继续保持这些锁
27
Thread.interrupted();// 测试线程是否中断
28
Thread.holdsLock(Object o);// 返回 boolean 类型,当且仅当当前线程在指定的对象上保持监视器锁时,才返回 true
29
Thread.dumpStack();// 将当前线程的堆栈跟踪打印至标准错误流
-------------未完待续-------------