首页 > 编程语言 >java中的多线程的常用方法

java中的多线程的常用方法

时间:2022-10-21 00:23:25浏览次数:43  
标签:常用 java Thread 阻塞状态 join 线程 当前 run 多线程

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());
  }
}
 

 

标签:常用,java,Thread,阻塞状态,join,线程,当前,run,多线程
From: https://www.cnblogs.com/zhazhawei906/p/16812090.html

相关文章

  • 力扣605(java&python)-种花问题(简单)
    题目:假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组  flowerbed表示花坛,由若......
  • java----Collection集合
    Collection集合1、集合与数组的相同点是什么?  都是容器,可以存储多个数据2、集合与数组的不同点是什么?  ①.数组的长度是不可变的,集合的长度是可变的  ②.......
  • JavaScript实现数据结构 -- 栈
    栈栈是一种==后进先出==的数据结构。JS模拟栈虽然JavaScript中没有栈,但是我们可以用数组来实现栈的功能。 //定义一个数组用来模拟栈 conststack=[]; //用数组......
  • JavaScript实现数据结构 -- 队列
    队列队列是一个先进先出的数据结构。JS模拟队列虽然JavaScript中没有队列,但是我们可以用数组来实现队列的功能。 //用数组来模拟队列 constqueue=[]; //入队 q......
  • JavaScript实现数据结构 -- 链表
    链表链表和数组一样是有多个元素组成的列表;不同的是链表元素存储不连续,用next指针连接在一起;链表的特点插入、删除不需要移动元素;不必事先分配存储空间;所需空间与长......
  • 三种常用的辅助工具类
    三种常用的辅助工具类CountDownLatch是一个执行减法操作的辅助计数器//计数器publicclassCountDownLatchTest{publicstaticvoidmain(String[]args)thr......
  • 《Java并发编程的艺术》读书笔记:二、Java并发机制的底层实现原理
    二、Java并发机制底层实现原理这里是我的《Java并发编程的艺术》读书笔记的第二篇,对前文有兴趣的朋友可以去这里看第一篇:一、并发编程的目的与挑战有兴趣讨论的朋友可以......
  • 多线程
    多线程概念:Windows操作系统是多任务操作系统,它以进程为单位。每个独立执行的程序被称为一个进程,而每个进程又包含多个线程。系统可以分配给每个进程一段使用CPU的时间(CPU......
  • 第一个JavaWeb项目
    第一个JavaWeb项目1、Maven的搭建1.1、Maven环境的配置与安装下载:[maven的下载地址](https://maven.apache.org/)环境配置:系统变量配置path变量配置1.2、构建......
  • JavaWeb完整案例详细步骤
    JavaWeb完整案例详细步骤废话少说,展示完整案例主要实现功能基本的CURD、分页查询、条件查询、批量删除所使用的技术前端:Vue+Ajax+Elememt-ui后端:Web层(Servlet)+Serv......