java中的多线程的常用方法

java中的多线程的常用方法

/*

  • Java中Thread(线程)中的常用方法。

  • 1.start():用来启动当前线程,调用当前线程的run()

  • 2.run():通常需要重写Thread中的此方法,将创建的线程要执行的操作声明到该方法中。也就是把代码写到run(){}的大括号中

  • 3.currentThread():静态方法,返回当前执行代码的线程

  • 4.getName:获取当前线程的名字。

  • 5.setName:设置当前线程的名字

  • 6.yield:释放当前cpu的执行权

  • 7.join:如果在线程a中调用线程b的join方法(b.join),那么,线程a就会进入阻塞状态,直到线程b完全执行完以后,线程a才会结束阻塞状态。

  • 8.stop:强制结束当前线程(已过时,不推荐使用)

  • 9.sleep(long millitime):让当前线程睡眠“millitime”指定的毫秒数。在指定的毫秒数内,当前线程是阻塞状态。

  • 10.isAlive():判断当前线程是否还存活。 */

 

package A_ShangGuiGu.Thread.ThreadDemo;

/***
* Java中Thread(线程)中的常用方法。
* 1.start():用来启动当前线程,调用当前线程的run()
* 2.run():通常需要重写Thread中的此方法,将创建的线程要执行的操作声明到该方法中。也就是把代码写到run(){}的大括号中
* 3.currentThread():静态方法,返回当前执行代码的线程
* 4.getName:获取当前线程的名字。
* 5.setName:设置当前线程的名字
* 6.yield:释放当前cpu的执行权
* 7.join:如果在线程a中调用线程b的join方法(b.join),那么,线程a就会进入阻塞状态,直到线程b完全执行完以后,线程a才会结束阻塞状态。
* 8.stop:强制结束当前线程(已过时,不推荐使用)
* 9.sleep(long millitime):让当前线程睡眠“millitime”指定的毫秒数。在指定的毫秒数内,当前线程是阻塞状态。
* 10.isAlive():判断当前线程是否还存活。
*/
class MyThread extends Thread{
   @Override
   public void run() {
       for (int i = 0; i < 100; i++) {
           if (i%2==0){
               try {
                   sleep(100);
              } catch (InterruptedException e) {
                   throw new RuntimeException(e);
              }
               System.out.println(Thread.currentThread().getName()+":"+i);
               if (i%10==0){
                   yield();
              }
          }
      }
  }
}
public class ThreadDemo02 {
   public static void main(String[] args) {
       MyThread t1 = new MyThread();
       t1.start();

       for (int i = 0; i < 100; i++) {
           if (i%2==0){
               System.out.println(Thread.currentThread().getName()+":"+i);
               if (i==20){
                   try {
                       t1.join();
                  } catch (InterruptedException e) {
                       throw new RuntimeException(e);
                  }
              }
          }
           Thread.currentThread().setName("主线程");
      }


       System.out.println(t1.isAlive());
  }
}
 

 

posted @ 2022-10-21 00:10  zhazhawei906  阅读(323)  评论(0)    收藏  举报