E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Goroutine
GO基础进阶篇 (十一)、select及定时器timer
它允许一个
goroutine
等待多个通信操作中的任何一个完成,并执行相应的代码块。select语句用于处理并发的多个通道操作,使得程序能够以非阻塞的方式等待多个通信操作中的任意一个完成。
不可L
·
2024-01-13 11:18
GO语言从基础到应用
golang
开发语言
后端
Go并发快速入门:
Goroutine
Go并发:
Goroutine
1.并发基础概念:进程、线程、协程(1)进程可以比作食材加工的一系列动作进程就是程序在操作系统中的一次执行过程,是由系统进行资源分配和调度的基本单位,进程是一个动态概念,是程序在执行过程中分配和管理资源的基本单位
上烟雨心上尘
·
2024-01-13 06:03
6.824
golang
开发语言
后端
Golang协程池ants库的学习、使用及源码阅读,协程池与GMP模型关系的理解
按默认每个
goroutine
8kb内存来算,几十万个
goroutine
就会占满8Gb内存。同时,由于
goroutine
的结束需要等待自身运行结束才可以销毁,所以也可
Climber47
·
2024-01-12 10:38
Golang
golang
学习
开发语言
Goroutine
泄露的概念及常见原因汇总
定义Go的并发是以
goroutine
和channel的形式实现的。协程泄露是指
goroutine
创建后,由于一些错误,长时间得不到释放。
Climber47
·
2024-01-12 10:38
Golang
golang
开发语言
后端
学习
GO——defer函数
draveness.me/golang/docs/part2-foundation/ch05-keyword/golang-defer/后调用的defer函数会先执行:后调用的defer函数会被追加到
Goroutine
_defer
媛媛家的程序员
·
2024-01-12 09:19
golang
开发语言
后端
defer
golang协程
goroutine
教程
前言项目经常遇到一些批量任务执行太慢,需要开启多线程去处理,记录下在Golang中协程使用的一些操作。目录前言协程介绍`channel`介绍基础使用协程中传参数示例协程中`channel`和`select`使用协程介绍协程是计算机程序的一类组件,推广了协作式多任务的子例程,允许执行被挂起与被恢复。相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。协程更适合于用来实现彼此熟悉的程
莫忘初心丶
·
2024-01-12 09:49
golang
python
php
Go语言-无限可能的管道协程:解锁并发编程的新境界
Go语言-无限可能的管道协程:解锁并发编程的新境界在Go语言中,协程(
Goroutine
)是一种轻量级的并发执行单位,它可以与其他协程并发执行,但不同于操作系统级别的线程。
代码炼金术
·
2024-01-11 22:56
GoLang-并发之王
golang
算法
数据库
管道
协程
python
php
50天精通Golang(第12天)
channel通道通道可以被认为是
Goroutine
s通信的管道。类似于管道中的水从一端到另一端的流动,数据可以从一端发送到另一端,通过通道接收。
恶灵退却
·
2024-01-10 21:55
50天精通golang
golang
Go 语言为什么不支持并发读写 map
Go语言的map类型不支持并发读写的主要原因是并发读写会导致数据竞态(datarace),这意味着多个
goroutine
可能同时访问并修改同一个map,从而引发不确定的结果。
PHP技术社区
·
2024-01-10 17:05
IT教程
golang
开发语言
后端
Go——协程
Go在语言层面直接提供对协程的支持称为
goroutine
。1.1基本概念进程进程是应用程序启动的实例,每个进程都有独立的内存空间,不同进程之前通过进程间的通信方式实现。
木易小熙
·
2024-01-10 08:52
Go是怎样练成的
golang
开发语言
Go 如何处理死锁以提供哪些工具来检测或防死锁?
当两个或多个
goroutine
互相等待对方释放资
力哥讲技术
·
2024-01-10 07:17
go编程
golang
开发语言
Golang企业面试题
什么是
Goroutine
?你如何停止它?如何在运行时检查变量类型?Go两个接口之间可以存在什么关系?Go当中同步锁有什么特点?作用是什么Go语言当中Channel(通道)有什么特点,需要注意什么?
weixin_51551879
·
2024-01-09 22:37
golang
开发语言
后端
Golang 协程与通道
前言在Go语言中,协程被称为
goroutine
s。
e5pool
·
2024-01-09 15:41
golang
Golang-使用带缓冲的Channel控制并发
无缓冲的Channel(unbufferedChannel)主要用于
goroutine
之间的同步,有缓冲的Channel(bufferedC
MR_Zzzzzz_
·
2024-01-09 15:11
Go语言
goroutine
调度器概述(11)
goroutine
简介
goroutine
是Go语言实现的用户态线程,主要用来解决操作系统线程太“重”的问题,所谓的太重,主要表现在以下两个方面:创建和切换太重:操作系统线程的创建和切换都需要进入内核,而进入内核所消耗的性能代价比较高
weixin_30644369
·
2024-01-09 07:56
操作系统
数据结构与算法
runtime
一文入门 Go 的性能分析
由于自己实现了
goroutine
的调度器,这也会让代码的执行过程更加复杂。而代码在执行的过程中,有可能会出现性能问题,单纯的通过日志很难排查,这就需要其他的方式来辅助。
rayjun
·
2024-01-08 21:06
Go语言程序设计-第8章--
goroutine
和通道
Go语言程序设计-第8章–
goroutine
和通道8.1
goroutine
当程序启动时,只有一个
goroutine
来调用main函数,称为主
goroutine
.新的
goroutine
需要通过go语句进行创建
houzhizhen
·
2024-01-08 04:29
golang
golang
网络
java
Go语言程序设计-第9章--使用共享变量实现并发
在这里并发调用是指,在没有额外同步机制的情况下,从两个或者多个
goroutine
同时调用这个函数。如果一个类型的所有可访问方法和操作都是并发安全时,则它可称为并发安全的类型。
houzhizhen
·
2024-01-08 04:29
golang
开发语言
后端
Go-
Goroutine
并发(
Goroutine
)的概念进程/线程进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。
TheIgnoranceMan
·
2024-01-07 22:50
golang语法
golang
【go语言】select多路选择
select语句使得一个
goroutine
可以等待多个通道操作,当其中任意一个通道操作可以进行时,就会执行相应的case分支。
三水木_
·
2024-01-07 19:56
go
golang
开发语言
后端
golang 并发写map修复
fatalerror:concurrentmapwrites:当其中有两个
goroutine
尝试同时写入相同的key值时,就会引发concurrentmapwrites错误,为了解决该问题,可以使用Go
yandaxin
·
2024-01-07 16:29
Go (一) 基础部分5 -- 单元测试,协程(
goroutine
),管道(channel)
一、单元测试Go自带一个轻量级的"测试框架testing"和自带的"gotest"命令来实现单元测试和性能测试。1.确保每个函数时可运行,并且运行结果是正确的。2.确保写出来的代码性能是好的。3.单元测试能及时的发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决。而性能测试的重点在于发现程序设计上的一些问题,让程序能够在高并发的情况下还能保持稳定。运用测试用例的指令:gotest:运
天才小楼楼
·
2024-01-07 07:09
Go
golang
go channel 通道
介绍channel提供了一种通信机制,通过它,一个
goroutine
可以向另外一个
goroutine
发送消息。channel本身还需要关联一个类型,也就是channel可以发送数据的类型。
myvic_091
·
2024-01-06 23:57
Go到底能做什么?不能做什么?
2、高并发:Go语言的并发模型
Goroutine
,是它的重要特点。使用Go语言可以轻松实现多千甚至上万个并发任务,这对于需要高并发处理的应用非常有用。3、
苍山有雪,剑有霜
·
2024-01-06 07:07
golang
golang
开发语言
后端
面试
Go 语言为什么不支持并发读写 map
Go语言的map类型不支持并发读写的主要原因是并发读写会导致数据竞态(datarace),这意味着多个
goroutine
可能同时访问并修改同一个map,从而引发不确定的结果。
PHP技术社区
·
2024-01-05 20:45
golang
开发语言
后端
Go - sync.Mutex
设计目的保证多个
Goroutine
在访问同一片内存时不会出现竞争条件等问题Locker接口Locker的接口定义了锁同步原语的方法集:typeLockerinterface{Lock()Unlock()
kyo1992
·
2024-01-05 06:18
go语言多线程操作
目录引言一、如何实现多线程1.线程的创建与管理:2.共享资源与同步:3.线程间通信:4.线程的生命周期管理:5.线程安全:6.考虑并发问题:7.性能与资源利用:8.特定语言或框架的工具和库:二、go语言多线程
Goroutine
1
星宇星静
·
2024-01-05 06:04
笔记
开发语言
golang
go
Golang不可不知的7个并发概念
Golang的并发独特而强大,其内置的轻量级协程(
goroutine
)和通道(channel)支持创建可伸缩、安全、高性能的高并发系统。本文将探索Go中
俞凡 DeepNoMind
·
2024-01-04 18:59
程序人生
panic: runtime error: invalid memory address or nil pointer dereference
runtimeerror:invalidmemoryaddressornilpointerdereference[signal0xc0000005code=0x0addr=0x40pc=0xdbcc77]
goroutine
1
Karen_Yu_
·
2024-01-04 16:41
GO
那些我所不了解的新操作
介绍几种Go语言开发的IDE
Go语言的并发基于
goroutine
,这是一种微线程,可以合理地分配到每个CPU中,最大限度地使用CPU的性能。此外,
goroutine
之间的通
m1chiru
·
2024-01-04 13:27
ide
13.Go 异常
一般而言,当宕机发生时,程序会中断运行,并立即执行在该
goroutine
(线程)中被延迟的函数(defer机制),随后,程序崩溃并输出日志信息。
HuaLuLemon
·
2024-01-04 10:32
Go语言从入门到实践
golang
开发语言
后端
《探索Go语言:从入门到精通》
并发性:内置的
goroutine
s和通道(channels)支持高效的并发编程。性能优异:编译
java搬砖工-苤-初心不变
·
2024-01-04 00:53
Go
golang
开发语言
后端
关于golang的
goroutine
go语言原生支持并发编程在通用型语言中原生支持并发编程的并不常见下面我们先来看一个例子packagemainimport("fmt""time")funcmain(){fori:=0;i<1000;i++{//一千个人同时运行gofunc(itint){//go关键字支持并发运行for{fmt.Println("hellowold!",it)//运行的目的是打印这句话}}(i)//将i传入匿名函数
昨夜是今晨的开始
·
2024-01-02 06:34
golang
golang
并发
线程
协程
golang 数组 最后一个_深入golang之---
goroutine
并发控制与通信
开发go程序的时候,时常需要使用
goroutine
并发处理任务,有时候这些
goroutine
是相互独立的,而有的时候,多个
goroutine
之间常常是需要同步与通信的。
weixin_39760689
·
2024-01-02 06:34
golang
数组
最后一个
golang mysql context_golang中context包解读
简介golang中的创建一个新的
goroutine
,并不会返回像c语言类似的pid,所有我们不能从外部杀死某个
goroutine
,所有我就得让它自己结束,之前我们用channel+select的方式,来解决这个问题
桑一
·
2024-01-02 06:04
golang
mysql
context
Go 大杀器之跟踪剖析 trace
,但有时候单单使用pprof还不一定足够完整观查并解决问题,因为在真实的程序中还包含许多的隐藏动作,例如:
Goroutine
在执行时会做哪些操作?
Goroutine
执行/阻塞了多长时间?
机器铃砍菜刀
·
2024-01-02 06:03
java
linux
python
编程语言
go
Go学习协程和调度器
这个再通用型语言里面是不常见的.packagemainimport"fmt"funcmain(){fori:=0;i<10;i++{gofunc(iint){for{fmt.Printf("Hellofrom
goroutine
m0_67391907
·
2024-01-02 06:02
java
后端
golang
学习
c语言
Golang 大杀器之跟踪剖析 trace
但单单使用PProf有时候不一定足够完整,因为在真实的程序中还包含许多的隐藏动作,例如
Goroutine
在执行时会做哪些操作?执行/阻塞了多长时间?在什么时候阻止?在哪里被阻止的?谁又锁/解锁了它们?
煎鱼(EDDYCJY)
·
2024-01-02 06:29
Golang标准库sync的使用
在实际编程中,我们常常需要保证多个
goroutine
之间的同步,这就需要使用到Go语言的sync标准库。
苍山有雪,剑有霜
·
2024-01-02 06:58
学习笔记
golang
javascript
开发语言
golang的大杀器协程
goroutine
在Golang中,协程(
Goroutine
)是轻量级的执行单元,用于实现并发编程。它是Golang语言的重要组成部分,提供了简洁、高效的方式来处理并发任务。
大白说
·
2024-01-02 06:57
golang
golang
goroutine
协程
并发
GMP
[每周一更]-(第48期):一名成熟Go开发需储备的知识点(问题篇)- 1
Goroutine
是什么?它与线程的区别是什么?介绍一下Go语言的垃圾回收机制。2、并发和并行什么是并发和并行?它们之间的区别是什么?如何在Go中实现并发?请解释一下
Goroutine
和通道的使用。
ifanatic
·
2024-01-02 06:05
每周一更
golang
开发语言
后端
[每周一更]-(第47期):Go业务发展方向
Go的高并发特性和轻量级的协程模型(
goroutine
)使其在处理高并发的Web请求时表现出色。微服务架构:Go语言适用于构
ifanatic
·
2024-01-02 06:03
每周一更
golang
开发语言
后端
golang实现抓取IP地址的蜘蛛程序
一些关键点
goroutine
的使用,让程序并行运行。正则表达式分组信息提取的使用,正确的提取我们关注的信息。数据库批量插入操作。数据库批量更新操作。
zhoutk
·
2024-01-01 20:19
在Go中使用
Goroutine
s和Channels发送电子邮件
学习如何使用
Goroutine
s和Channels在Go中发送电子邮件在现代软件开发的世界中,通信是一个关键元素。发送电子邮件是各种目的的常见实践,例如用户通知、报告等。
技术的游戏
·
2024-01-01 11:30
golang
开发语言
后端
RWMutex 注意事项
RWMutex是单写多读锁,该锁可以加多个读锁或者一个写锁⚫读锁占用的情况下会阻止写,不会阻止读,多个
Goroutine
可以同时获取读锁⚫写锁会阻止其他
Goroutine
(无论读和写)进来,整个锁由该
Goroutine
ldxxxxll
·
2024-01-01 04:53
golang
go 源码解读 sync.RWMutex
(go-version1.21)读写锁(RWMutex)是一种并发控制机制,用于在多个
goroutine
之间对共享资源进行读写操作。它提供了两种锁定方式:读锁和写锁。
Q_X_Q 慶
·
2024-01-01 03:46
go语言
golang
c# 纤程 FiberTaskScheduler
C#自身并不直接支持像Go语言中的
goroutine
那样的轻量级线程(也被称为纤程)。Go语言的
goroutine
由语言runtime直接支持,并且调度开销极小,非常适合高并发场景。
wangyue4
·
2023-12-31 08:55
c#
java
前端
等待线程完毕
*Result)//创建一个通道,用于通知所有线程结束//构造一个waitGroup线程组,以便处理所有的数据源varwaitGroupsync.WaitGroup//设置需要等待处理//每个数据源的
goroutine
热心居民小肖
·
2023-12-30 03:41
Go语言学习笔记 --- concurrency、channel、select
学习笔记根据无闻go语言基础教程整理concurrency很多人都是冲着Go大肆宣扬的高并发而忍不住跃跃欲试,但其实从源码的解析来看,
goroutine
只是由官方实现的超级”线程池”。
Wang's Blog
·
2023-12-29 17:12
Golang
go语言
并发
channel
select
golang源码概要【只有关键逻辑】
typeCondstruct{LLockernotifynotifyList}typenotifyListstruct{waituint32//表示当前Wait的最大ticket值notifyuint32//表示目前已唤醒的
goroutine
啊_sam
·
2023-12-29 14:44
golang
golang
开发语言
后端
源代码管理
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他