Juc00_多线程基础小知识

简介: ①. Thread.activeCount( )②. TimeUnit类

①. Thread.activeCount( )


  • ①. 在IDEA中Thread.activeCount()=2,除了main方法的主线程外还有,还多了一个预期外的Monitor Ctrl-Break线程


public class threadActiveCount {
    public static void main(String[] args) {
        //打印当前线程组的线程
        Thread.currentThread().getThreadGroup().list();
        System.out.println("=========");
        //idea用的是反射,还有一个monitor监控线程。
        System.out.println(Thread.activeCount());
        /*
        输出结果:
        java.lang.ThreadGroup[name=main,maxpri=10]
            Thread[main,5,main]
            Thread[Monitor Ctrl-Break,5,main]
        =========
        2
        * */
    }
}


微信图片_20220106172925.png


②. 在ECLIPSE中得到的结果是1


微信图片_20220106172948.png


②. TimeUnit类


①. TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep( ) 底层实现还是使用的Thread.sleep( )


②. SECONDS | MINUTES | HOURS | DAYS


字段 描述
SECONDS 停顿3秒
MINUTES 停顿3分钟
HOURS 停顿3小时
DAYS 停顿三天


③. 代码使用


   //停顿3s
   try { TimeUnit.SECONDS.sleep(3);  } catch (InterruptedException e) {e.printStackTrace();}
   //停顿3分钟
   try { TimeUnit.MINUTES.sleep(3);  } catch (InterruptedException e) {e.printStackTrace();}
   //停顿3h
   try { TimeUnit.HOURS.sleep(3);  } catch (InterruptedException e) {e.printStackTrace();}
   //停顿三天
   try { TimeUnit.DAYS.sleep(3);  } catch (InterruptedException e) {e.printStackTrace();}
相关文章
|
4月前
|
Java
JUC并发编程之等待唤醒机制
在JUC(Java Util Concurrent)并发编程中,线程等待唤醒机制是实现线程之间协作和同步的重要手段。这种机制允许一个线程挂起等待某个条件满足后被唤醒,以及另一个线程在满足某个条件后唤醒等待的线程。在Java中,有多种实现线程等待唤醒机制的方式,包括使用Object的wait()和notify()方法、Condition接口以及LockSupport类。
|
3月前
|
安全 Java 程序员
惊呆了!Java多线程里的“synchronized”竟然这么神奇!
【6月更文挑战第20天】Java的`synchronized`关键字是解决线程安全的关键,它确保同一时间只有一个线程访问同步代码。在案例中,`Counter`类的`increment`方法如果不加同步,可能会导致竞态条件。通过使用`synchronized`方法或语句块,可以防止这种情况,确保线程安全。虽然同步会带来性能影响,但它是构建并发应用的重要工具,平衡同步与性能是使用时需考虑的。了解并恰当使用`synchronized`,能有效应对多线程挑战。
17 1
|
4月前
|
安全 Java
多线程(进阶三:JUC)
多线程(进阶三:JUC)
65 0
|
SQL 安全 Java
Java并发编程面试题——JUC专题
Java并发编程面试题——JUC专题
388 0
|
Web App开发 安全 Java
JUC高并发编程(一)——JUC基础知识
JUC高并发编程(一)——JUC基础知识
129 0
|
SpringCloudAlibaba 安全 Java
JUC并发编程(二):线程相关知识点
实现编发编程的主要手段就是多线程。线程是操作系统里的一个概念。接下来先说说两者的定义、联系与区别。
73 0
|
安全 Java Linux
JUC (java并发编程学习分享篇)
JUC (java并发编程学习分享篇)
66 0
|
Java 数据挖掘 程序员
玩转JUC工具,Java并发编程不再危机四伏
当今互联网应用普遍需要支持高并发访问,而Java作为一种广泛使用的编程语言,其并发编程能力对于实现高性能的应用非常重要。而Java的JUC(java.util.concurrent)并发工具就提供了许多实用的工具类和接口,可以让Java应用轻松实现高效的并发编程。
102 0
|
安全 Java
Java多线程进阶——JUC常见类和死锁
java中的JUC就是java.util.concurrent包下的一些标准类或者接口,这个包里的东西都是和多线程相关的,以下就是这个包中常见的类和接口的用法及示例:
152 0
Java多线程进阶——JUC常见类和死锁
|
Java API 调度
并发编程之多线程基础
每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。
并发编程之多线程基础