博客
关于我
一心多用多线程-Thread的api探险
阅读量:143 次
发布时间:2019-02-28

本文共 1890 字,大约阅读时间需要 6 分钟。

Thread的构造方法

在Java中,Thread类提供了多种构造方法来创建新的线程。这些方法允许开发者灵活地配置线程的属性和行为。以下是Thread的主要构造方法:

  • Thread():分配一个新的Thread对象。这个对象在创建时没有指定任何运行目标或名称,默认的运行目标是一个空的Runnable实例,默认的线程组是main线程组,默认的堆栈大小为系统默认值。

  • Thread(Runnable target):分配一个新的Thread对象,并将指定的Runnable实例作为该线程的运行目标。这个构造方法没有指定线程名或线程组。

  • Thread(Runnable target, String name):分配一个新的Thread对象,并将指定的Runnable实例作为该线程的运行目标,同时指定一个线程名。这个线程会加入到默认的线程组中。

  • Thread(String name):分配一个新的Thread对象,并指定一个线程名。这个线程没有指定运行目标,默认的运行目标是一个空的Runnable实例,默认的线程组是main线程组。

  • Thread(ThreadGroup group, Runnable target):分配一个新的Thread对象,并将指定的Runnable实例作为该线程的运行目标,同时指定一个线程组。这个线程会加入到指定的线程组中。

  • Thread(ThreadGroup group, Runnable target, String name):分配一个新的Thread对象,并将指定的Runnable实例作为该线程的运行目标,同时指定一个线程名和线程组。这个线程会加入到指定的线程组中。

  • Thread(ThreadGroup group, Runnable target, String name, long stackSize):分配一个新的Thread对象,并将指定的Runnable实例作为该线程的运行目标,同时指定一个线程名、线程组和堆栈大小。这个线程会加入到指定的线程组中。

  • Thread(ThreadGroup group, String name):分配一个新的Thread对象,并指定一个线程名和线程组。这个线程没有指定运行目标,默认的运行目标是一个空的Runnable实例。

这些构造方法提供了高度的灵活性,使得开发者可以根据具体需求创建合适的线程。

Thread中的静态方法

Thread类不仅提供了构造方法,还提供了一系列静态方法来获取和管理当前线程的信息。这些方法通常用于监控线程的状态和行为,确保程序的高效运行。以下是Thread类中的常用静态方法:

  • public static void sleep(long time):使当前线程休眠指定的时间(以毫秒为单位)。这个方法通常用于让线程暂停,以便其他线程有机会运行。

  • public static void yield():使当前线程暂停,让操作系统选择下一个线程进行执行。这通常用于让线程之间协作,避免资源竞争。

  • public static Thread currentThread():返回当前线程对象。如果当前线程不是活动的,该方法会返回null。

  • public static int activeCount():返回Java虚拟机中活动线程的数量。这个方法常用于监控线程池的使用情况。

  • public static Thread getThreadGroup(Thread thread):返回指定线程所属的线程组。

  • public static int getPriority(Thread thread):返回当前线程的优先级。优先级越高,线程的执行机会越大。

  • public static String getName(Thread thread):返回当前线程的名称。

  • public static Thread.State getState(Thread thread):返回当前线程的状态,例如RUNNABLE、BLOCKED、WAITING等。

  • public static boolean isAlive(Thread thread):检查指定线程是否仍然活跃。如果返回true,表示线程正在执行或被阻塞。

  • public static boolean isDaemon(Thread thread):检查指定线程是否是守护线程。守护线程通常用于后台运行,不会阻塞主线程。

这些静态方法为开发者提供了便利的工具,帮助他们监控和管理线程的行为,确保程序的稳定性和性能。

转载地址:http://cxod.baihongyu.com/

你可能感兴趣的文章
OpenCV环境搭建(一)
查看>>
OpenCV的视频读取
查看>>
openCV目标识别 目标跟踪 YOLO5深度学习 Python 计算机视觉 计算机毕业设计 源码下载
查看>>
opencv笔记(1):图像缩放
查看>>
opencv笔记(二十四)——得到轮廓之后找到凸包convex hull
查看>>
OpenCV计算点到直线的距离 数学法
查看>>
Opencv识别图中人脸
查看>>
OpenCV读写avi、mpeg文件
查看>>
opencv里用calcCovarMatrix计算协方差矩阵
查看>>
OpenCV错误:在setSize中断言失败(s&>;=0)-尝试将图像放置在网络摄像头提要上时
查看>>
opencv面向对象设计初探
查看>>
OpenCV(1)读写图像
查看>>
OpenCV:不规则形状区域中每种颜色的像素数?
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
OpenDaylight融合OpenStack架构分析
查看>>
OpenERP ORM 对象方法列表
查看>>
openEuler Summit 2022 成功举行,开启全场景创新新时代
查看>>
openEuler 正式开放:推动计算多样化时代的到来
查看>>
OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_openeuler切换root用户_su:拒绝权限_passwd: 鉴定令牌操作错误---国产瀚高数据库工作笔记001
查看>>
OpenEuler23.03欧拉系统_安装瀚高数据库企业版6.0.4_踩坑_安装以后系统无法联网_启动ens33网卡---国产瀚高数据库工作笔记002
查看>>