Thread 方法
来源:互联网 发布:淘宝nala彩妆是正品吗 编辑:程序博客网 时间:2024/06/01 20:23
Thread类的一些被Thread对象调用的方法:
1 public void start()
使该线程开始执行;Java 虚拟机调用该线程的 run 方法。2 public void run()
如果该线程是使用独立的 Runnable 运行对象构造的,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。3 public final void setName(String name)
改变线程名称,使之与参数 name 相同。4 public final void setPriority(int priority)
更改线程的优先级。5 public final void setDaemon(boolean on)
将该线程标记为守护线程或用户线程。6 public final void join(long millisec)
等待该线程终止的时间最长为 millis 毫秒。7 public void interrupt()
中断线程。8 public final boolean isAlive()
测试线程是否处于活动状态。
Thread类的一些静态方法:
1 public static void yield()
暂停当前正在执行的线程对象,并执行其他线程。2 public static void sleep(long millisec)
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。3 public static boolean holdsLock(Object x)
当且仅当当前线程在指定的对象上保持监视器锁时,才返回 true。4 public static Thread currentThread()
返回对当前正在执行的线程对象的引用。5 public static void dumpStack()
将当前线程的堆栈跟踪打印至标准错误流。
实例
如下的ThreadClassDemo 程序演示了Thread类的一些方法:
// 文件名 : DisplayMessage.java// 通过实现 Runnable 接口创建线程public class DisplayMessage implements Runnable{ private String message; public DisplayMessage(String message) { this.message = message; } public void run() { while(true) { System.out.println(message); } }}
// 文件名 : GuessANumber.java// 通过继承 Thread 类创建线程public class GuessANumber extends Thread{ private int number; public GuessANumber(int number) { this.number = number; } public void run() { int counter = 0; int guess = 0; do { guess = (int) (Math.random() * 100 + 1); System.out.println(this.getName() + " guesses " + guess); counter++; }while(guess != number); System.out.println("** Correct! " + this.getName() + " in " + counter + " guesses.**"); }}
// 文件名 : ThreadClassDemo.javapublic class ThreadClassDemo{ public static void main(String [] args) { Runnable hello = new DisplayMessage("Hello"); Thread thread1 = new Thread(hello); thread1.setDaemon(true); thread1.setName("hello"); System.out.println("Starting hello thread..."); thread1.start(); Runnable bye = new DisplayMessage("Goodbye"); Thread thread2 = new Thread(bye); thread2.setPriority(Thread.MIN_PRIORITY); thread2.setDaemon(true); System.out.println("Starting goodbye thread..."); thread2.start(); System.out.println("Starting thread3..."); Thread thread3 = new GuessANumber(27); thread3.start(); try { thread3.join(); }catch(InterruptedException e) { System.out.println("Thread interrupted."); } System.out.println("Starting thread4..."); Thread thread4 = new GuessANumber(75); thread4.start(); System.out.println("main() is ending..."); }}
运行结果如下,每一次运行的结果都不一样。
Starting hello thread...Starting goodbye thread...HelloHelloHelloHelloHelloHelloHelloHelloHelloThread-2 guesses 27Hello** Correct! Thread-2 in 102 guesses.**HelloStarting thread4...HelloHello..........remaining result produced.
【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】
—–乐于分享,共同进步!
—–更多文章请看:http://blog.csdn.net/duruiqi_fx
- thread 方法
- Thread 方法
- Thread.SetData 方法
- 关于Thread.join( )方法
- Thread setDaemon 方法
- Thread.SetData 方法
- Java Thread Join方法
- Java多线程 Thread 方法
- Thread.interrupt方法
- Thread.interrupt()方法
- thread 1,调用方法
- threading.Thread.setDaemon()方法
- Thread类常用方法
- Thread 的构造方法
- Thread 对象的 方法
- Thread.join()方法解析
- Thread中的join方法
- Thread常用方法
- 2016.8.11
- php如何实现单例模式
- cscope
- 逗号表达式
- [HDU5828] Rikka with Sequence [2016 Multi-University Training Contest 8(2016多校联合训练8) 1008]
- Thread 方法
- 总结——在CCS5.5.0中如何将代码烧写到DSP28335的Flash中
- Java 集合框架源码分析(四)——LinkedHashMap
- HTML引用资源相对路径
- poj 3185 高斯消元 枚举变元
- jsp中el表达式无效的解决办法
- 数组的应用深入
- POJ 1655 Balancing Act(简单树型dp)
- POJ2728 Desert King 最优比例生成树