JUC的概述,线程与进程的概念和状态,

news/2024/5/20 10:05:24 标签: juc, 多线程, 线程池

 

所谓JUC是java.util .concurrent 工具包的简称这是一个处理线程的工具包可以实现多线程高并发的内容  。

了解该部分内容先了解线程与进程的相关概念(操作系统)

以及涉及到的lambda表达式函数的概念

java 8 学习的笔记与总结_想成为大神说32的博客-CSDN博客

 进程: 数据集合 在 一个程序 的一次运行

 线程: 一个进程的 很多小分支,完成不同工作

 线程的状态(他是枚举的类型)Thread.State

 New  新建  

Runnable   准备就绪    (调用了线程的Start ,放入线程池) 

Running 可运行的  (获得cpu 时间片)

Blocked 阻塞   (等待,同步,异步,其他的阻塞方式)

Waiting  (一直)等待      Timed-Waiting (过时不候的等待)

 Dead  (Terminated ) 终结销毁  ( 当 线程或main执行完毕后)

  

package com.guigu;

public class c01Thread {
    public static void main(String[] args) {

        Thread t1 = new Thread ( //使用Lambda 表达式实现这个接口
                () -> { //创建 线程t1
                    System.out.println(Thread.currentThread().getName() + " :"
                            + Thread.currentThread().isDaemon());
                                 //判断是否是守护线程,(后台运行的)
                    while(true){
                   //主线程结束,程序还在运行,jvm 没停止
                    }
                } ,"t1");
        t1.setDaemon(true) ; //把他设置为守护线程 ,主线程结束这个程序没有用户线程了,结束了
       //启动线程
        t1.start();  //主线程调用t1子线程,
        System.out.println(Thread.currentThread().getName() +"结束");
    }
}


http://www.niftyadmin.cn/n/1712933.html

相关文章

1. Lock (锁的)接口

目录 1.1 复习synchronized 1.2 Lock接口 1.3 Lock方法 1.4 两者差异 1.1 复习synchronized 他是Java的关键字,是一种同步锁,能够修饰 一个 对象,变量,方法, 来控制这个所修饰的,被顺序的访问&#xff…

2.什么是线程间的通信 ?怎么实现线程通信

2.1什么是线程通信以及实现步骤 线程间通信的模型有两种:共享内存和消息传递 线程通信其实就是 ,实现线程的交替工作,并传递信息 线程间的通信具体步骤:(涉及上中下部) 创建资源类,在资源类中…

3 . 线程间定制化通信 (交替完成规定的工作)

案列:启动三个线程,按照如下要求: AA打印5此,BB打印10次,CC打印15次,一共进行10轮 具体思路: 每个线程添加一个标志位,是该标志位则执行操作,并且修改为下一个标志位&am…

4. 集合 的线程安全 (可以看到底层的集合是没有加锁的)

4.1集合不安全的问题 在讲解线程安全的之前&#xff0c;先看线程不安全的 实例 创建 ArrayList集合 并使用线程 再集合中添加元素获取元素 //创建ArrayList集合 List<String> list new ArrayList<>(); for (int i 0; i <30; i) {new Thread(()->{//向集合…

5. 多线程锁 (公平锁和非公平锁,死锁,可重锁)

某一个时刻内&#xff0c;只能有唯一 一个线程去访问这些synchronized 方法 所有的静态同步方法用的也是同一把锁——类对象本身&#xff0c;这两把锁是两个不同的对象&#xff0c;所以静态同步方法与非静态同步方法之间是不会有竞态条件的但是一旦一个静态同步方法获取锁后&am…

JUC高并发编程的学习,知识点详细概括

JUC 的概述 https://blog.csdn.net/qq_52252193/article/details/121903199 一.Lock 接口的概述 1. Lock &#xff08;锁的&#xff09;接口_想成为大神说32的博客-CSDN博客 二.线程间的通信 (Sysnchronized. Lock,的案例&#xff09; 2.什么是线程间的通信 &#xff1f;怎么实…

二叉树的三种遍历算法的实现(前序、中序、后序)递归与非递归

二叉树的三种遍历算法的实现&#xff08;前序、中序、后序&#xff09;递归与非递归 1、二叉树的定义 二叉树是n&#xff08;n>0&#xff09;个数据元素的有限集&#xff0c;含有唯一的称为根的元素&#xff0c;且&#xff0c;其余元素分成两个互不相交的子集&#xff0c;…

6. Callable接口

创建线程的多种方式&#xff1a; 继承Thread类实现Runnable接口Callable接口线程池 目前学习了有两种创建线程的方法&#xff0c;一种是通过创建 Thread 类&#xff0c;另一种是通过使用 Runnable 创建线程&#xff0c;但是&#xff0c;Runnable 缺少的一项功能是&#xff0c;…