当前位置: 首页 > news >正文

go并发编程

https://www.bilibili.com/video/BV16A4y1f7EX

sync包工具

  1. Mutex:同一时间只有一个goroutine持有锁,其它申请该锁的goroutine会被阻塞。
  2. RWMutex:允许多个协程同时读取共享数据,但写入时需要独占锁。
  3. WaitGroup:等待一组协程完成后再继续执行。预设数量的goroutine都执行完成后,所有预设的goroutine才继续向下执行。
  4. Map:并发安全的map,无需手动加锁即可安全地进行读写操作,而且性能好。
  5. Once:确保某个函数在整个程序运行期间仅执行一次。(单例)
  6. Cond:让协程在特定条件下等待或通知其他协程。
  7. Pool:对象池,但对象不会自动回收。

相关文章:

go并发编程

https://www.bilibili.com/video/BV16A4y1f7EX sync包工具 Mutex:同一时间只有一个goroutine持有锁,其它申请该锁的goroutine会被阻塞。RWMutex:允许多个协程同时读取共享数据,但写入时需要独占锁。WaitGroup:等待一组…...

使用Python开发以太坊智能合约:轻松入门与深度探索

使用Python开发以太坊智能合约:轻松入门与深度探索 随着区块链技术的快速发展,以太坊作为最为成熟和广泛使用的智能合约平台,成为了开发去中心化应用(DApp)的核心工具。智能合约不仅是区块链技术的基础,更…...

Python从0到100(八十九):Resnet、LSTM、Shufflenet、CNN四种网络分析及对比

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...

密码学(哈希函数)

4.1 Hash函数与数据完整性 数据完整性: 检测传输消息(加密或未加密)的修改。 密码学Hash函数: 构建某些数据的简短“指纹”;如果数据被篡改,则该指纹(以高概率)不再有效。Hash函数…...

设计模式Python版 备忘录模式

文章目录 前言一、备忘录模式二、备忘录模式示例1三、备忘录模式示例2 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a…...

CES Asia 2025聚焦量子计算,多领域进展引关注

作为亚洲地区极具影响力的科技盛会,CES Asia 2025第七届亚洲消费电子技术贸易展(赛逸展)将在首都北京举办。本届展会以“创新、智能、互联”为主题,将全方位展示全球消费科技领域的最新成果与发展趋势。其中,量子计算作…...

MySQL索引深度剖析:从数据结构到实际应用

引言 在数据库系统中,索引是提高查询效率的关键技术之一。MySQL作为最流行的关系型数据库之一,其索引机制尤为重要。本文将剖析MySQL索引的数据结构、分类、创建方式以及实际应用场景,帮助读者更好地理解和应用索引技术。 主体部分 1. MyS…...

【deepseek】本地部署+RAG知识库挂载+对话测试

文章目录 前言一、Deepseek模型下载(以7B为例)二、RAG本地知识库挂载三、创建本地对话脚本四、结果展示 前言 本文主要涵盖Deepseek在ubuntu系统中的部署全流程,包括模型的下载、系统部署、本地文档向量化、向量列表存储、RAG知识库挂载、对话测试等内容 一、Deeps…...

Vue.js 组件开发全面详解及应用案例

Vue.js 的组件化开发是其核心特性之一,使得代码复用、维护和扩展变得更加容易。以下是关于 Vue.js 组件开发的全面解析,并附带一个实际应用案例。 一、组件基础概念 1. 什么是组件? 组件是 Vue 应用的基本构建块,封装了 HTML、C…...

java面试场景问题

还在补充,这几天工作忙,闲了会把答案附上去,也欢迎各位大佬评论区讨论 1.不用分布式锁如何防重复提交 方法 1:基于唯一请求 ID(幂等 Token) 思路:前端生成 一个唯一的 requestId(…...

MySQL数据库基本概念

目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…...

【wiki知识库】07.用户管理后端SpringBoot部分

目录 一、今日目标 二、??SpringBoot部分类的添加 2.1 使用逆向工程新增User模块 2.2 UserQueryParam添加 2.3 UserSaveParam添加 2.4 UserResetPasswordParam添加 2.5 UserQueryVo添加 2.6 SnowFlake工具类 三、??后端新增接口? 3.1 /user/list接口添加 3.2 /…...

千峰React:案例二

完成对html文档还有css的引入&#xff0c;引入一下数据&#xff1a; import { func } from prop-types import ./购物车样式.css import axios from axios import { useImmer } from use-immer import { useEffect } from reactfunction Item() {return (<li classNameacti…...

Junit框架缺点

JUnit 是 Java 生态中最流行的单元测试框架&#xff0c;广泛应用于单元测试和集成测试中。尽管它功能强大且易于使用&#xff0c;但也存在一些缺陷和局限性。以下是 JUnit 的主要缺点&#xff1a; 1. 功能相对固定 问题&#xff1a;JUnit 的核心功能相对固定&#xff0c;缺乏灵…...

计算机毕业设计SpringBoot+Vue.js公司日常考勤系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

Python线程池知多少

目录 目标 Python版本 官方文档 概述 线程池 实战 创建线程池的基本语法 批量提交任务 生产者&消费者模型 目标 掌握线程池的基本概念和使用方法。 Python版本 Python 3.9.18 官方文档 concurrent.futures — Launching parallel taskshttps://docs.python.org/3…...

MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 高级篇 part 6

从6到12章将会是重中之重,请一定好好看 第06章_索引的数据结构 1.为什么使用索引 索引是存储引擎用于快速找到数据记录的一种数据结构&#xff0c;就好比一本教课书的目录部分&#xff0c;通过目录中找到对应文章的页码&#xff0c;便可快速定位到需要的文章。MySQL中也是一…...

C++动态与静态转换区别详解

文章目录 前言一、 类型检查的时机二、安全性三、适用场景四、代码示例对比总结 前言 在 C 中&#xff0c;dynamic_cast 和 static_cast 是两种不同的类型转换操作符&#xff0c;主要区别体现在类型检查的时机、安全性和适用场景上。以下是它们的核心区别&#xff1a; 一、 类…...

面向AI 的前端发展及初识大模型

AI带来的开发范式迁移 随着AI的涌现&#xff0c;对前端的发展也有着非常大的影响&#xff0c;总结过去前端的发展路径&#xff0c;目前应该属于又一次的大规模的开发范式迁移阶段。上一个阶段是从jquery到React/Vue/Angular迁移&#xff08;jquery之前的就不讨论了&#xff09…...

Java入门的基础学习

Java的基础语法知识 一 初始Java二 Java数据类型和变量1.字面常量2.数据类型基本数据类型引用数据类型 3.变量整型变量浮点型变量字符型变量布尔型变量 4.类型转化和提升类型转化类型提升 三 运算符1.算数运算符2.关系操作符3.逻辑运算符&#xff1a;&&&#xff0c;||&…...

万字详解 MySQL MGR 高可用集群搭建

文章目录 1、MGR 前置介绍 1.1、什么是 MGR1.2、MGR 优点1.3、MGR 缺点1.4、MGR 适用场景 2、MySQL MGR 搭建流程 2.1、环境准备2.2、搭建流程 2.2.1、配置系统环境2.2.2、安装 MySQL2.2.3、配置启动 MySQL2.2.4、修改密码、设置主从同步2.2.5、安装 MGR 插件 3、MySQL MGR 故…...

脚本无法获取响应主体(原因:CORS Missing Allow Credentials)

背景&#xff1a; 前端的端口号8080&#xff0c;后端8000。需在前端向后端传一个参数&#xff0c;让后端访问数据库去检测此参数是否出现过。涉及跨域请求&#xff0c;一直有这个bug是404文件找不到。 在修改过程当中不小心删除了一段代码&#xff0c;出现了这个bug&#xff0…...

GD32F450 使用

GB32F450使用 1. 相关知识2. 烧写程序3. SPI3.1 spi基础3.2 spi代码 4. 串口4.1 串口引脚4.2 串口通信代码 问题记录1. 修改晶振频率 注意&#xff1a;GD32F450 总共有三种封装形式&#xff0c;本文所述的相关代码和知识&#xff0c;均为 GD32F450IX 系列。 1. 相关知识 参数配…...

神经网络代码入门解析

神经网络代码入门解析 import torch import matplotlib.pyplot as pltimport randomdef create_data(w, b, data_num): # 数据生成x torch.normal(0, 1, (data_num, len(w)))y torch.matmul(x, w) b # 矩阵相乘再加bnoise torch.normal(0, 0.01, y.shape) # 为y添加噪声…...

Android 数据库查询对比(APN案例)

功能背景 APN 数据通常存储在数据库中&#xff0c;由TelephonyProvider提供。当用户进入APN设置界面时&#xff0c;Activity会启动&#xff0c;AOSP源码通过ContentResolver查询APN数据。关键分析点在于这个查询操作是否在主线程执行&#xff0c;因为主线程上的耗时操作会导致…...

神卓 S500 异地组网设备实现监控视频异地组网的详细步骤

一、设备与环境准备 硬件清单 主设备&#xff1a;神卓 S500 异地组网路由器 1子设备&#xff1a;神卓 S500 或兼容设备 N&#xff08;需通过官网认证&#xff09;监控设备&#xff1a;支持 RTSP/ONVIF 协议的 NVR、摄像头网络要求&#xff1a;各网点需稳定联网&#xff08;推荐…...

golang安装(1.23.6)

1&#xff0e;切换到安装目录 cd /usr/local 2&#xff0e;下载安装包 wget https://go.dev/dl/go1.23.6.linux-amd64.tar.gz 3&#xff0e;解压安装包 sudo tar -C /usr/local -xzf go1.23.6.linux-amd64.tar.gz 4&#xff0e;配置环境变量 vi /etc/profile export PATH$…...

leetcode35.搜索插入位置

题目&#xff1a; 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出…...

LeetCode第57题_插入区间

LeetCode 第57题&#xff1a;插入区间 题目描述 给你一个 无重叠的 &#xff0c;按照区间起始端点排序的区间列表。在列表中插入一个新的区间&#xff0c;你需要确保列表中的区间仍然有序且不重叠&#xff08;如果有必要的话&#xff0c;可以合并区间&#xff09;。 难度 中…...

人工智能之数学基础:线性代数中矩阵的运算

本文重点 矩阵的运算在解决线性方程组、描述线性变换等方面发挥着至关重要的作用。通过对矩阵进行各种运算,可以简化问题、揭示问题的本质特征。在实际应用中,我们可以利用矩阵运算来处理图像变换、数据分析、电路网络等问题。深入理解和掌握矩阵的运算,对于学习线性代数以…...

SQL Server 创建用户并授权

创建用户前需要有一个数据库&#xff0c;创建数据库命令如下&#xff1a; CREATE DATABASE [数据库名称]; CREATE DATABASE database1;一、创建登录用户 方式1&#xff1a;SQL命令 命令格式&#xff1a;CREATE LOGIN [用户名] WITH PASSWORD ‘密码’; 例如&#xff0c;创…...

MySQL双主搭建-5.7.35

文章目录 上传并安装MySQL 5.7.35双主复制的配置实例一&#xff1a;172.25.0.19&#xff1a;实例二&#xff1a;172.25.0.20&#xff1a; 配置复制用户在实例 1 &#xff08;172.25.0.19&#xff09;上执行&#xff1a;在实例 2 &#xff08;172.25.0.20&#xff09;上执行&…...

RNN实现精神分裂症患者诊断(pytorch)

RNN理论知识 RNN&#xff08;Recurrent Neural Network&#xff0c;循环神经网络&#xff09; 是一种 专门用于处理序列数据&#xff08;如时间序列、文本、语音、视频等&#xff09;的神经网络。与普通的前馈神经网络&#xff08;如 MLP、CNN&#xff09;不同&#xff0c;RNN…...

Python中字符串的常用操作

一、r原样输出 在 Python 中&#xff0c;字符串前加 r&#xff08;即 r"string" 或 rstring&#xff09;表示创建一个原始字符串&#xff08;raw string&#xff09;。下面详细介绍原始字符串的特点、使用场景及与普通字符串的对比。 特点 忽略转义字符&#xff1…...

uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)

项目有个需求&#xff0c;需要生成app和小程序&#xff0c;app支持离线数据库&#xff0c;如果当前没有网络提醒用户开启离线模式&#xff0c;所以就随便搞了下&#xff0c;具体的思路就是&#xff1a; 一个接口和多个实现类&#xff08;类似后端的模板设计模式&#xff09;&am…...

Spring Cloud Gateway 整合Spring Security

做了一个Spring Cloud项目&#xff0c;网关采用 Spring Cloud Gateway&#xff0c;想要用 Spring Security 进行权限校验&#xff0c;由于 Spring Cloud Gateway 采用 webflux &#xff0c;所以平时用的 mvc 配置是无效的&#xff0c;本文实现了 webflu 下的登陆校验。 1. Sec…...

【异地访问本地DeepSeek】Flask+内网穿透,轻松实现本地DeepSeek的远程访问

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言依赖Flask构建本地网页访问LM Studio 开启网址访问DeepSeek 调用模板Flask 访问本…...

Windows对比MacOS

Windows对比MacOS 文章目录 Windows对比MacOS1-环境变量1-Windows添加环境变量示例步骤 1&#xff1a;打开环境变量设置窗口步骤 2&#xff1a;添加系统环境变量 2-Mac 系统添加环境变量示例步骤 1&#xff1a;打开终端步骤 2&#xff1a;编辑环境变量配置文件步骤 3&#xff1…...

React实现无缝滚动轮播图

实现效果&#xff1a; 由于是演示代码&#xff0c;我是直接写在了App.tsx里面在 文件位置如下&#xff1a; App.tsx代码如下&#xff1a; import { useState, useEffect, useCallback, useRef } from "react"; import { ImageContainer } from "./view/ImageC…...

Ubuntu20.04确认cuda和cudnn已经安装成功

当我们通过官网安装cuda和cudnn时&#xff0c;终端执行完命令后我们仍不能确定是否已经安装成功。接下来教大家用几句命令测试。 cuda 检测版本号 nvcc -V如果输出如下&#xff0c;则安装成功。 可以看到版本号是11.2 cudnn检测版本号 有两种命令&#xff1a;如果你的cudn…...

sqlilab 46 关(布尔、时间盲注)

sqlilabs 46关&#xff08;布尔、时间盲注&#xff09; 46关有变化了&#xff0c;需要我们输入sort&#xff0c;那我们就从sort1开始 递增测试&#xff1a; 发现测试到sort4就出现报错&#xff1a; 我们查看源码&#xff1a; 从图中可看出&#xff1a;用户输入的sort值被用于查…...

AI时代保护自己的隐私

人工智能最重要的就是数据&#xff0c;让我们面对现实&#xff0c;大多数人都不知道他们每天要向人工智能提供多少数据。你输入的每条聊天记录&#xff0c;你发出的每条语音命令&#xff0c;人工智能生成的每张图片、电子邮件和文本。我建设了一个网站(haptool.com)&#xff0c…...

模型优化之强化学习(RL)与监督微调(SFT)的区别和联系

强化学习&#xff08;RL&#xff09;与监督微调&#xff08;SFT&#xff09;是机器学习中两种重要的模型优化方法&#xff0c;它们在目标、数据依赖、应用场景及实现方式上既有联系又有区别。 想了解有关deepseek本地训练的内容可以看我的文章&#xff1a; 本地基于GGUF部署的…...

Buildroot 添加自定义模块-内置文件到文件系统

目录 概述实现步骤1. 创建包目录和文件结构2. 配置 Config.in3. 定义 cp_bin_files.mk4. 添加源文件install.shmy.conf 5. 配置与编译 概述 Buildroot 是一个高度可定制和模块化的嵌入式 Linux 构建系统&#xff0c;适用于从简单到复杂的各种嵌入式项目. buildroot的源码中bui…...

蓝牙接近开关模块感应开锁手机靠近解锁支持HID低功耗

ANS-BT101M是安朔科技推出的蓝牙接近开关模块&#xff0c;低功耗ble5.1&#xff0c;采用UART通信接口&#xff0c;实现手机自动无感连接&#xff0c;无需APP&#xff0c;人靠近车门自动开锁&#xff0c;支持苹果、安卓、鸿蒙系统&#xff0c;也可以通过手机手动开锁或上锁&…...

计算机毕业设计SpringBoot+Vue.js基于工程教育认证的计算机课程管理平台(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

企业知识库搭建:14款开源与免费系统选择

本文介绍了以下14 款知识库管理系统&#xff1a;1.Worktile&#xff1b;2.PingCode&#xff1b;3.石墨文档&#xff1b; 4. 语雀&#xff1b; 5. 有道云笔记&#xff1b; 6. Bitrix24&#xff1b; 7. Logseq等。 在如今的数字化时代&#xff0c;企业和团队面临着越来越多的信息…...

蓝桥杯(握手问题)

小蓝组织了一场算法交流会议&#xff0c;总共有 50 人参加了本次会议。在会议上&#xff0c;大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进行一次握手 (且仅有一次)。 但有 7个人&#xff0c;这 7 人彼此之间没有进行握手 (但这 7 人与除这 7 人以外…...

如何使用 Jenkins 实现 CI/CD 流水线:从零开始搭建自动化部署流程

如何使用 Jenkins 实现 CI/CD 流水线:从零开始搭建自动化部署流程 在软件开发过程中,持续集成(CI)和持续交付(CD)已经成为现代开发和运维的标准实践。随着代码的迭代越来越频繁,传统的手动部署方式不仅低效,而且容易出错。为了提高开发效率和代码质量,Jenkins作为一款…...

c++字符编码/乱码问题

基本概念 c11版本引入了char16_t和char32_t两个类型&#xff0c;他们的特点分别如下&#xff1a; char16_t 16位的unicode字符类型用于表示UTF-16编码大小&#xff1a;2字节字面量前缀&#xff1a;u char32_t 32位unicode字符类型用于表示UTF-32编码大小&#xff1a;4字节…...