Context上下文包套路入门(1)
context包被称为上下文包go 1.7加入用于协程之间的上下文数据的传递、中止核控制超时。在网络编程中可用于请求的中止比如服务访问链的中止a用户注册-b调用用户服务-c调用积分服务。其中a调用bb调用c。如果由于a和b之间因为某些原因被取消或者超时了那么b和c之间也要取消。Context接口源码解读typeContextinterface{//返回一个超时时间Deadline()(deadline time.Time,okbool)//返回只读channel//一旦可读代表父context发起取消操作通过该方法可以收到此信号//完成协程退出并返回Err()Done()-chanstruct{}//返回context被取消的原因Err()error//获取Context上绑定值根据key线程安全Value(keyinterface{})interface{}}空上下文在进行上下文控制之前首先要创建一个顶层context。go内置包提供了一个方法context.Background()WithTimeout超时自动取消当执行一个go协程时超时自动取消协程packagemainimport(contextfmttime)// 模拟一个最小执行时间的阻塞函数funcincr(aint)int{res:a1time.Sleep(time.Second*1)returnres}// 提供一个阻塞接口// 计算ab注意a,b不能是负数// 如果计算被中断则返回-1funcAdd(ctx context.Context,a,bint)int{fmt.Printf(开始)res:0fori:0;ia;i{resincr(res)select{case-ctx.Done()://父context超时了return-1}}fori:0;ib;i{resincr(res)select{case-ctx.Done()://父context超时了return-1}}returnres}funcmain(){ctx,_:context.WithTimeout(context.Background(),time.Second*2)res:Add(ctx,1,2)fmt.Println(res)//-1}WithCancel 手动取消方法funcmain(){ctx,cancel:context.WithCancel(context.Background())gofunc(){time.Sleep(time.Second*2)cancel()//在调用处主动取消}()res:Add(ctx,1,2)fmt.Println(res)//-1}

相关新闻

iFakeLocation:免费跨平台iOS虚拟定位工具终极指南

iFakeLocation:免费跨平台iOS虚拟定位工具终极指南

iFakeLocation:免费跨平台iOS虚拟定位工具终极指南 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation 你是否想过瞬间"穿越"到世界各地…

2026/7/28 18:41:15 阅读更多 →
掘井故事集(1)

掘井故事集(1)

许多人距离成功只差一步,却因缺乏恒心半途而废。做事贵在持之以恒,浅尝辄止终究一无所获。有个村民想要在家门口挖一口井取水。他连续挖了几天,挖出一个深坑,始终不见水源。他有些烦躁,觉得这里没有地下水,…

2026/7/28 18:41:15 阅读更多 →
PAT甲级 1054 The Dominant Color 找出最多的像素颜色 map打点

PAT甲级 1054 The Dominant Color 找出最多的像素颜色 map打点

Solution&#xff1a; 题目要求&#xff1a;给出一个m x n 的矩阵&#xff0c;每个元素的值代表一种像素颜色&#xff0c;求像素颜色最多的点的颜色。map直接打点就行了。 代码如下&#xff1a; //找出最多的像素颜色、map打点 #include<iostream> #include<math.h>…

2026/7/28 18:41:15 阅读更多 →

最新新闻

什么是集装箱数据中心?

什么是集装箱数据中心?

过去几十年,数据中心给人的印象一直是一栋大型建筑,里面排列着密密麻麻的服务器机柜,配套复杂的供电、制冷、消防和网络系统。无论是互联网企业、金融机构,还是大型企业的信息化建设,都需要提前规划场地、建设机房、部署设备。 但随着云计算、大数据、人工智能和边缘计算…

2026/7/28 18:53:19 阅读更多 →
关于慢查询

关于慢查询

概述慢查询是指只要存在查询的地方就会有慢查询的问题&#xff0c;如关系型数据库&#xff08;mysql、oracle&#xff09;和非关系型数据库&#xff08;nosql,redis、MongoDB等&#xff09;&#xff0c;区别是它们设置慢查询的命令及方式不同而已。下面以中小型企业常用的mysql…

2026/7/28 18:53:19 阅读更多 →
乱七八糟的pwn入门(六)——5.passcode

乱七八糟的pwn入门(六)——5.passcode

审题 首先看题目&#xff1a;连上服务器&#xff0c;看一下这次的代码&#xff1a;#include <stdio.h> #include <stdlib.h>void login(){int passcode1;int passcode2;printf("enter passcode1 : ");scanf("%d", passcode1);fflush(stdin)…

2026/7/28 18:53:19 阅读更多 →
python爬虫之requests的基本使用# 基本的get请求 # response = requests.get('http://httpbin.org/get') # print(respons

python爬虫之requests的基本使用# 基本的get请求 # response = requests.get('http://httpbin.org/get') # print(respons

import requests # 基本的get请求 # response requests.get(http://httpbin.org/get) # print(response.text)# 带参数的get请求 # response requests.get("http://httpbin.org/get?namegermey&age22") # print(response.text) # 或者params的方法 # data{nam…

2026/7/28 18:53:19 阅读更多 →
开源鼠标自动化终极指南:从痛点识别到实战工作流的完整解决方案

开源鼠标自动化终极指南:从痛点识别到实战工作流的完整解决方案

开源鼠标自动化终极指南&#xff1a;从痛点识别到实战工作流的完整解决方案 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软件界面美观 &am…

2026/7/28 18:53:19 阅读更多 →
SpringBoot 使用Docker运行Elasticsearch

SpringBoot 使用Docker运行Elasticsearch

&#xff08;1&#xff09;使用docker images查询已安装应用&#xff08;2&#xff09;运行Elasticsearch&#xff0c;指令如下&#xff1a;docker run -e ES_JAVA_OPTS"-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 6f8bf0ce76ea&#xff08;3&…

2026/7/28 18:52:19 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿&#xff01;3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑&#xff1a;把几百页的财报、法规、技术手册扔给向量库&#xff0c;问一个具体问题&#xff0c;搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了&#xff0c;要么藏在几十条结果的最下面。语义相似≠真正相关&#xff0c;这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营&#xff0c;从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候&#xff0c;每天刷半小时抖音&#xff0c;手动把爆款视频的口播敲进备忘录&#xff0c;一条2分钟的视频得花十来分钟&#xff0c;碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻