线程+线程池+锁

有合适延时代码会补充

线程

        创建方式

                1:继承Thread

                2:实现Runnable接口

                3:Callable+Future接口

        方法介绍

                sleep:Thread类静态方法

                        当前线程暂停执行指定时间,让出cpu,不释放对象锁,任何地方使用。

                wait:Object类成员方法

                        放弃对象锁,进入等待队列,对当前对象调用notify方法,当前线程进入对象锁定池重新竞争对象锁,同步方法/同步代码块中使用。

线程池

        newCachedThreadPool(可缓存线程池):如果线程池长度超过处理需要,可灵活 回收空闲线程,若无可回收,则新建线程

        newFixedThreadPool(定长线程池):可控制线程最大并发数,超出的线程会在队 列中等待

        newScheduledThreadPool (定长线程池):支持定时及周期性任务执行。

        newSingleThreadExecutor(单线程化线程池):用唯一的工作线程来执 行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行

        线程池参数

                corePoolSize:核心线程大小

                maximumPoolSize:线程池最大线程数量

                keepAliveTime:空闲线程存活时间

                unit:空间线程存活时间单位

                workQueue:工作队列

                threadFactory:线程工厂

                handler:拒绝策略

        死锁

                产生条件

                        1:互斥:一个资源只能被一个进程使用

                        2:请求与保持:一个进程因请求资源而阻塞时,对已获得的资源保持不放

                        3:不剥夺:进程已获得的资源,在未使用完之前不能强行剥夺

                        4:循环等待:多进程间形成首尾相互等待的关系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/25688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BC11 学生基本信息输入输出

BC11 学生基本信息输入输出 废话不多说上题目&#xff1a; 这道题表面上很简单&#xff0c;但是里面有很重要的点先给大家上正确的代码&#xff1a; #include<stdio.h> int main() {int stu 0;float c 0;float English 0;float math 0;scanf("%d;%f,%f,%f"…

3 数据类型、运算符与表达式-3.1 C语言的数据类型和3.2 常量与变量

数据类型 基本类型 整型字符型实型(浮点型) 单精度型双精度型 枚举类型 构造类型 数组类型结构体类型共用体类型 指针类型空类型 #include <stdio.h> #include <string.h> #include <stdbool.h> // 包含布尔类型定义 // 常量和符号常量 #define PRICE 30//…

AI大模型日报#0610:港大等1bit大模型“解决AI能源需求”、谷歌开源TimesFM时序预测模型

导读&#xff1a;AI大模型日报&#xff0c;爬虫LLM自动生成&#xff0c;一文览尽每日AI大模型要点资讯&#xff01;目前采用“文心一言”&#xff08;ERNIE 4.0&#xff09;、“零一万物”&#xff08;Yi-Large&#xff09;生成了今日要点以及每条资讯的摘要。欢迎阅读&#xf…

Jmeter分布式、测试报告、并发数计算、插件添加方式、常用图表

Jmeter分布式 应用场景 当单个测试机无法模拟用户要求的业务场景时&#xff0c;可以使用多台测试机进行模拟&#xff0c;就是Jmeter的分布 式测试。 Jmeter分布式执行原理 Jmeter分布测试时&#xff0c;选择其中一台作为控制机&#xff08;Controller&#xff09;&#xff0c…

Spring5

文章目录 1. Spring 是什么&#xff1f;2. IoC3. Spring Demo4. IoC 创建对象的方式 / DI 方式注入的默认参数在哪里设定? 5. Spring 配置tx:annotation-driven 用于启用基于注解的事务管理 6. Bean的作用域7. 在Spring中有三种自动装配的方式1. 在xml中显式的配置2. 在java中…

RAG:如何从0到1搭建一个RAG应用

通过本文你可以了解到&#xff1a; 什么是RAG&#xff1f;如何搭建一个RAG应用&#xff1f;目前开源的RAG应用有哪些&#xff1f; 大模型学习参考&#xff1a; 1.大模型学习资料整理&#xff1a;大模型学习资料整理&#xff1a;如何从0到1学习大模型&#xff0c;搭建个人或企业…

定个小目标之刷LeetCode热题(15)

这道题直接就采用两数相加的规则&#xff0c;维护一个进阶值&#xff08;n&#xff09;即可&#xff0c;代码如下 class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {// 新建一个值为0的头结点ListNode newHead new ListNode(0);// 创建几个指针用于…

JAVA基础【String类】

在 Java 编程中&#xff0c;String 类是一个非常重要且常用的类&#xff0c;用于表示字符串对象。本文将详细介绍 Java 中的 String 类&#xff0c;包括定义、常用方法、不可变性特性以及字符串拼接等方面的内容。 1. String 类的定义与创建 定义 String 是 Java 中的一个类…

【C++初阶学习】第十三弹——优先级队列及容器适配器

C语言栈&#xff1a;数据结构——栈(C语言版)-CSDN博客 C语言队列&#xff1a;数据结构——队列&#xff08;C语言版&#xff09;-CSDN博客 C栈与队列&#xff1a;【C初阶学习】第十二弹——stack和queue的介绍和使用-CSDN博客 前言&#xff1a; 在前面&#xff0c;我们已经…

Android基础-自定义view

在Android开发中&#xff0c;自定义View是一个常见的需求&#xff0c;它允许开发者根据应用的具体需求创建独特的UI元素。自定义View可以极大地增强应用的用户界面和用户体验。下面将详细阐述Android中自定义View的方式和方法&#xff0c;包括基本的步骤、常见的技巧和一些深入…

2024.6.10 一

Python多进程 进程 一系列有序指令集用来实现某些功能,每个进程都有自己独立的一块内存空间&#xff0c;一个进程可以有多个线程. 程序就是我们安装好的应用,我们打开程序时,就创建了相应的进程,操作系统会为进程分配相应的资源 线程 是进程中的一个执行任务&#xff08;控制…

Java24:会话管理 过滤器 监听器

一 会话管理 1.cookie 是一种客户端会话技术&#xff0c;cookie由服务端产生&#xff0c;它是服务器存放在浏览器的一小份数据&#xff0c;浏览器 以后每次访问服务器的时候都会将这小份的数据带到服务器去。 //创建cookie对象 Cookie cookie1new Cookie("…

vuInhub靶场实战系列--Kioptrix Level #3

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置1.1 靶场信息1.2 靶场配置 二、信息收集2.1 主机发现2.1.1 netdiscover2.1.2 arp-scan主机扫描 2.2 端口扫描2.3 指纹识别2.4 目…

智能合约中外部调用漏洞

外部调用 &#xff1a; 在智能合约开发中&#xff0c;调用不受信任的外部合约是一个常见的安全风险点。这是因为&#xff0c;当你调用另一个合约的函数时&#xff0c;你实际上是在执行那个合约的代码&#xff0c;而这可能会引入你未曾预料的行为&#xff0c;包括恶意行为。下面…

基于Ascend C的FlashAttention算子性能优化最佳实践

LLM的Attention部分处理给计算系统带来巨大的计算和访存压力。业界先后出现FlashAttention、FlashAttention2等算法&#xff0c;通过计算等价和切分有效降低HBM数据访问量。 昇腾异构计算架构CANN针对昇腾AI处理器的片上内存和缓存大小&#xff0c;以及数据搬运通路&#xff0…

为Nanopi m1交叉编译opencv

为Nanopi m1交叉编译opencv 一、下载交叉编译器 根据之前的博客进行 二、下载opencv和必要库 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devgit clone https://github.com/opencv/opencv.git cd opencv三、进行编…

鸿蒙开发必备:《DevEco Studio 系列一:实用功能解析与常用快捷键大全》

系列文章目录 文章目录 系列文章目录前言一、下载与安装小黑板 二、IDE被忽略的实用功能-帮助&#xff08;Help&#xff09;1.Quick Start2. API Reference3.FAQ 三、常用快捷键一、编辑二、查找或替换三、编译与运行四、调试五、其他 前言 DevEco Studio&#xff09;是基于In…

nginx-虚拟主机如何配置

8、 nginx 命令功能 nginx -c /path/nginx.conf # 以特定目录下的配置文件启动nginx: nginx -s reload # 修改配置后重新加载生效 nginx -s stop # 快速停止nginx nginx -s quit # 正常停止nginx nginx -t # 测试当前配置文件…

协程库——面试问题

1 同步、异步 1.1 同步 代码顺序执行&#xff0c;完全由用户控制. 同步阻塞 等待可读、可写的时候阻塞&#xff0c;不让出cpu。读、写之后&#xff0c;下面的代码才能执行、 同步非阻塞 等待可读、可写时&#xff0c;不会阻塞cpu&#xff0c;返回失败&#xff0c;设置错误码为…

I/O 系统的功能、模型与接口

目录 I/O 系统的基本功能 1. 设备独立性 2. 缓冲 3. 设备共享 4. 高速缓存 5. 设备管理 I/O 系统的层次结构与模型 1. 单块传输模型 2. 缓冲管理模型 3. 通道模型 4. 虚拟设备模型 5. 直接内存访问&#xff08;DMA&#xff09;模型 6. 层次结构示意图 I/O…