猿教程 Logo

如何创建线程

有两种方法来创建线程:

  1. 通过扩展Thread类
  2. 通过实现Runnable接口。

Thread类:

Thread类提供了用来创建和执行一个线程的构造函数和方法.Thread类扩展自Object类并实现Runnable接口。


常用的Thread类的构造函数:

  • Thread()

  • Thread(String name)

  • Thread(Runnable r)

  • Thread(Runnable r,String name)


Thread类的常用方法:

  1. public void run():用于对线程执行操作。 

  2. public void start():启动线程的执行.JVM调用线程上的run()方法。 

  3. public void sleep(long miliseconds):使当前执行的线程睡眠(暂时停止执行)达指定的毫秒数。 

  4. public void join():等待线程死亡。 

  5. public void join(long miliseconds):等待线程死亡指定的毫秒数。 

  6. public int getPriority():返回线程的优先级。 

  7. public int setPriority(int priority):改变线程的优先级。 

  8. public String getName():返回线程的名称。 

  9. public void setName(String name):更改线程的名称。 

  10. public Thread currentThread():返回当前正在执行的线程的引用。 

  11. public int getId():返回线程的id。 

  12. public Thread.State getState():返回线程的状态。 

  13. public boolean isAlive():测试线程是否存活。 

  14. public void yield():导致当前正在执行的线程对象暂时暂停并允许其他线程执行。 

  15. public void suspend():用于挂起线程(depricated)。 

  16. public void resume():用于恢复挂起的线程(depricated)。 

  17. public void stop():用于停止线程(depricated)。 

  18. public boolean isDaemon():测试线程是否是守护线程。 

  19. public void setDaemon(boolean b):将线程标记为守护程序或用户线程。 

  20. public void interrupt():中断线程。 

  21. public boolean isInterrupted():测试线程是否被中断。 

  22. public static boolean interrupted():测试当前线程是否已经中断。


Runnable接口:

Runnable接口应该由任何类实现,其实例旨在由线程执行。 Runnable接口只有一个名为run()的方法。

public void run():用于对线程执行操作。


启动线程:

Thread类的start()方法用于启动新创建的线程。 它执行以下任务:

  1. 新线程启动(使用新的调用堆栈)。 

  2. 线程从新状态移动到可运行状态。 

  3. 当线程有机会执行时,它的目标run()方法将运行。


1)通过扩展Thread类实现线程的例子

相关实例:

class Multi extends Thread{
public void run(){
System.out.println("thread is running...");
}
public static void main(String args[]){
Multi t1=new Multi();
t1.start();
 }
}
输出:thread is running...

2)通过实现Runnable接口来实现Java线程的示例

相关实例:

class Multi3 implements Runnable{
public void run(){
System.out.println("thread is running...");
}

public static void main(String args[]){
Multi3 m1=new Multi3();
Thread t1 =new Thread(m1);
t1.start();
 }
}
输出:thread is running...

如果你不扩展Thread类,你的类对象不会被视为一个线程对象。所以你需要明确地创建Thread类对象。这里我们传递实现Runnable接口的类的对象,以便你的类中的run()方法 可以执行。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/java-creating-thread.html