golang中使用chan控制协程并发简单事例

news2024/12/30 1:32:13
func main() {

	processNum := 5
	ch := make(chan struct{}, processNum)
	for true {
		ch <- struct{}{}
		go func() {
			defer func() {
				<-ch
			}()
			fmt.Println("我是协程", time.Now().UnixNano())
			time.Sleep(time.Second * 5)
		}()
	}
}

可以看到,这里每5s会执行一次带有5个并发的打印,所以控制了for循环中协程的并发数量 

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

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

相关文章

DC电源模块的高转换率

BOSHIDA DC电源模块的高转换率 DC电源模块是将交流电转换为直流电供应设备使用的装置&#xff0c;是现代工业制造和电子产品中不可或缺的组件之一。高转换率是DC电源模块最重要的性能之一&#xff0c;它直接影响着电源的效率、功耗和发热等方面&#xff0c;因此也深受设计师的关…

HTML常用表情Emoji‍♂️和Emoji参考手册

HTML表情可以用来在网页中插入各种表情符号图标&#xff0c;丰富了网页表现形式和视觉效果。下面是一些常用HTML表情代码大全&#x1f4dc; ⚽&#x1f430;&#x1f98b;&#x1f305;&#x1f4a5;&#x1f350;&#x1f35e;&#x1f647;&#x1f3cc; &#x1f436;&…

1. 基于UDP的TFTP文件传输

1&#xff09;tftp协议概述 简单文件传输协议&#xff0c;适用于在网络上进行文件传输的一套标准协议&#xff0c;使用UDP传输 特点&#xff1a; 是应用层协议 基于UDP协议实现 数据传输模式 octet&#xff1a;二进制模式&#xff08;常用&#xff09; mail&#xff1a;…

Python实现GA遗传算法优化XGBoost回归模型(XGBRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;最早是由美国的 John holland于20世…

串口通信收发项目级一

void 定时器中断函数入口(void) { if(判断是否为定时器中断) { static uint16_t num定义静态变量; static uint8_t index定义静态变量; unsigned char buff_busy定义局部变量; if(串口中断接收数据数量>静态变量) { 静态变量串口中断接收数据数量; } else if(静态变量串口中…

day41二维数组 *returnSize 和 *returnColumnSizes +合并两个二维数组

题目描述&#xff1a; 题目参数 /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/ int** m…

七 动手学深度学习v2 ——数值稳定性+模型初始化和激活函数

1. 数值稳定性 2. 如何让训练更加稳定 目标&#xff1a;让梯度值在合理的范围内 方法&#xff1a; 将乘法变成加法 ResNetLSTM 归一化 梯度归一化梯度裁剪 合理的权重初始和激活函数

python 画三维散点图

import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from mpl_toolkits.mplot3d import Axes3D # 空间三维画图def get_color(label):label_color []for i in range(0,len(label)):if label[i] 0:label_color.append(red)elif l…

SpringBoot3安全管理

标签&#xff1a;Security.登录.权限&#xff1b; 一、简介 SpringSecurity组件可以为服务提供安全管理的能力&#xff0c;比如身份验证、授权和针对常见攻击的保护&#xff0c;是保护基于spring应用程序的事实上的标准&#xff1b; 在实际开发中&#xff0c;最常用的是登录验…

BC136 KiKi去重整数并排序

给定一个整数序列&#xff0c;KiKi想把其中的重复的整数去掉&#xff0c;并将去重后的序列从小到大排序输出。 输入描述 第一行&#xff0c;输入一个整数n&#xff0c;表示序列有n个整数。 第二行输入n个整数&#xff08;每个整数大于等于1&#xff0c;小于等于1000&#xf…

Azure资源命名和标记决策指南

参考 azure创建虚拟机在虚拟机中选择编辑标签&#xff0c;并添加标记&#xff0c;点击应用 3.到主页中转到所有资源 4. 添加筛选器并应用 5.查看结果&#xff0c;筛选根据给服务器定义的标签筛选出结果。 参考链接: https://learn.microsoft.com/zh-cn/azure/cloud-adoption…

Java接口压力测试—如何应对并优化Java接口的压力测试

导言 在如今的互联网时代&#xff0c;Java接口压力测试是评估系统性能和可靠性的关键一环。一旦接口不能承受高并发量&#xff0c;用户体验将受到严重影响&#xff0c;甚至可能导致系统崩溃。因此&#xff0c;了解如何进行有效的Java接口压力测试以及如何优化接口性能至关重要…

3张照片打造专属形象!酷蛙FaceChain解密个人写真开源项目,人人AIGC!

一、背景说明 各类AI写真软件由于其精准的个人形象精美的生成效果引爆了朋友圈传播&#xff0c;证件照满足了用户刚需&#xff0c;古装照等风格照满足了用户“美照”的需求。 酷蛙FaceChain开源项目团队推出了开源版本&#xff0c;希望结合开源社区开发者的力量&#xff0c;可…

Linux之openoffice安装

一、openoffice简介 OpenOffice是一个开源的办公软件套件&#xff0c;包含了文本编辑器、电子表格、演示文稿、数据库和绘图等应用程序。它可以在多个操作系统上运行&#xff0c;包括Windows、Mac OS X和Linux等。OpenOffice的目标是提供一个完全免费、功能齐全的办公软件套件&…

【LeetCode】【数据结构】栈与队列必刷OJ题

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言&#xff1a; 【LeetCode】20.有效的括号&#xff08;栈的…

1289. 下降路径最小和 II

题目描述&#xff1a; 给你一个 n x n 整数矩阵 grid &#xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为&#xff1a;从 grid 数组中的每一行选择一个数字&#xff0c;且按顺序选出来的数字中&#xff0c;相邻数字不在原数组的同一列。 示例&am…

企业级备份 - 让您的数据安全防线坚韧如山

产品定义 数据威胁无处不在&#xff0c;不论数据处于何地&#xff0c;以何种形态体现&#xff0c;数据安全都至关重要。备份作为数据安全的最后一道防线&#xff0c;需要慎之又慎。针对数据备份与恢复的企业级应用&#xff0c;联想凌拓 (Lenovo NetApp) 与华睿泰 (Veritas) 共同…

【C++】速识string

一、创建string对象 1、文档 2、常用 并不是所有的用法都需要熟记于心&#xff0c;我们只需记住常用的即可&#xff0c;对于并不常用的&#xff0c;我们可以在用到的时候查看文档学习使用。 void Test1() {string s1;string s2("Hello World");s1 "Hello …

Android 10.0 禁止二次展开QuickQSPanel设置下拉QSPanel高度

1.前言 在10.0的系统定制化需求中,在进行systemui的ui定制开发中,有些需要对原生systemui下拉状态栏中的二次展开QSPanel修改成 一次展开禁止二次展开,所以就需要修改QuickQSpanel的高度,然后在QuickQsPanel做定制,然后禁止二次展开就可以了 如图: 2.禁止二次展开Quic…

ubuntu下FFmpeg安装和使用以及CMakeLists.txt模板

sudo apt install ffmpeg sudo apt-get install libavfilter-devcmakelist模板 CMakeLists.txt cmake_minimum_required(VERSION 3.16) project(ffmpeg_demo)# 设置ffmpeg依赖库及头文件所在目录&#xff0c;并存进指定变量 set(ffmpeg_libs_DIR /usr/lib/x86_64-linux-gnu) …