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 语言中的协程:
goroutine
Hi,大家好,我是明哥。在自己学习Golang的这段时间里,我写了详细的学习笔记放在我的个人微信公众号《Go编程时光》,对于Go语言,我也算是个初学者,因此写的东西应该会比较适合刚接触的同学,如果你也是刚学习Go语言,不防关注一下,一起学习,一起成长。我的在线博客:http://golang.iswbm.com我的Github:github.com/iswbm/GolangCodingTime说到
王炳明
·
2023-10-22 02:02
golang的
goroutine
调度模型
golang的
goroutine
调度模型进程:一个在内存中运行的程序线程:进程中的一个控制单元,一个进程至少由一个线程,也可以由多个线程,主要由CPU进行调度。
康斯坦丁龙傲天
·
2023-10-21 23:28
golang
开发语言
golang笔记18--go并发多线程
MutexRWMutexWaitGroupCondOncemapPoolContextselect注意事项参考文档介绍大家都知道go语言近年来越来越火了,其中有一个要点是go语言在并发场景有很高的性能,比如可以通过启动很多个
goroutine
昕光xg
·
2023-10-21 17:25
Golang
golang
笔记
开发语言
Goroutine
的上下文存储
后端开发中,问题分析通常是请求级别的,如果能通过一个唯一的请求号对日志进行过滤,能对分析问题带来不少的便捷。我们的项目中也希望在请求相关的日志中,嵌入请求号。Golang在http.Request中提供了一个Context用于存储kv对,我们可以通过这个来存储请求相关的数据。在请求入口,我们把唯一的requstID存储到context中,在后续需要调用的地方把值取出来打印。如果日志是在contro
元家昕
·
2023-10-21 13:57
Golang源码探索(二) 协程的实现原理(转)
Golang最大的特色可以说是协程(
goroutine
)了,协程让本来很复杂的异步编程变得简单,让程序员不再需要面对回调地狱,虽然现在引入了协程的语言越来越多,但go中的协程仍然是实现的是最彻底的.这篇文章将通过分析
weixin_30556959
·
2023-10-20 17:48
golang
runtime
数据结构与算法
Golang源码探索(二) 协程的实现原理
Golang最大的特色可以说是协程(
goroutine
)了,协程让本来很复杂的异步编程变得简单,让程序员不再需要面对回调地狱,虽然现在引入了协程的语言越来越多,但go中的协程仍然是实现的是最彻底的.这篇文章将通过分析
weixin_30535167
·
2023-10-20 17:47
golang
runtime
数据结构与算法
Golang通道(Channel)原理解析
Golang作为一门并发友好的编程语言,提供了一种简单而强大的机制,即通道(Channel),用于在不同的
Goroutine
之间进行通信和同步。
一只会写程序的猫
·
2023-10-19 22:39
Go
golang
爬虫
关于Golang中fatal error: all
goroutine
s are asleep - deadlock!报错的几点原因分析
1、channel容量不够2、channel在make(chantype)时候,没有指定容量,却又向channel里发送值3、channel中已经没有值了,却又<-channel操作4、channel<-i后,如果要进行forval:=rangechannel遍历操作前,没有进行close(channel)操作5、在声明等待组全局变量(varwg=new(sync.WaitGroup))后,在并发
雷魂香屁
·
2023-10-19 13:29
golang
golang
开发语言
后端
Go语言并发
Go语言并发学习目标出色的并发性是Go语言的特色之一•理解并发与并行•理解进程和线程•掌握Go语言中的
Goroutine
和channel•掌握select分支语句•掌握sync包的应用并发与并行并发与并行的概念这里不再赘述
CodeMartain
·
2023-10-19 10:30
golang
java
开发语言
c++ 计时_你应该掌握的 Go 高级并发模式:计时器
前言如果你认为结合
Goroutine
s去处理时间和计数器很简单的话,那你就错了,这里有提到的一些与time.Timer相关的问题或bug:time:Timer.Resetisnotpossibletousecorrectly
weixin_39977586
·
2023-10-19 10:59
c++
计时
c++
计时器
go
清空文件内容
在一起计时器
go学习之--通道
channel通道通道可以被认为是
Goroutine
s通信的管道。类似于管道中的水从一端到另一端的流动,数据可以从一端发送到另一端,通过通道接收。
乐观的阿锡
·
2023-10-19 10:55
go语言
go
Golang协程的概念、用法、场景及案例
Go语言(Golang)就是一种在这方面非常强大的编程语言,它提供了一种称为协程(
Goroutine
)的并发模型。什么是Golang协程?协程是一种轻量级的线程,它可以实现并发执行的并行操作。
一只会写程序的猫
·
2023-10-19 10:21
Go
golang
开发语言
后端
一文入门 —— go语言
系列文章目录文章目录系列文章目录前言一、go语言介绍二、go开发环境配置三、了解Go语言组织结构四、go语法速览1.基础2.切片3.map4.类5.
goroutine
五、包六、go相关资料前言由于9月份
余识-
·
2023-10-19 03:37
C/C++
实战入门到精通
golang
一文带你GO语言入门
Go语言的主要特点包括:-简洁和简单-语法简单明快,易于学习和使用特点高效编译速度快,执行效率高并发支持原生支持并发,利用
goroutine
实现高效的并发程序安全内存安全,数组边界检查等快速部署编译成单个二进制可执行文件
fking86
·
2023-10-19 02:24
GO
golang
开发语言
后端
Go语言并发并行与依赖管理
Go语言并发并行与依赖管理语言进阶——并发VS并行
Goroutine
CSP(CommunicatingSequentialProcesses)Channel并发安全LOCKWaitGroup依赖管理Go
capucino_bubble
·
2023-10-18 14:01
go
后端
golang
后端
开发语言
Golang 并发处理
文章目录一、基本概念二、sync.WaitGroup三、
goroutine
和线程四、channel五、无缓冲通道和缓冲通道六、生产者和消费者模型七、select多路复用八、单向通道总结一、基本概念并发:
头发莫的了呀
·
2023-10-18 14:28
Golang
golang
go
golang 并发
文章目录1、并发和并行2、线程和协程的区别3、golang并发实现基础知识
goroutine
channel通道defer关键字go调度模型实现方式syn包channelselect语句GOMAXPROCS
code_AC
·
2023-10-18 14:56
Go
多线程
go语言
golang
使用两个
goroutine
交替、顺序打印一段字符串的字符
1、使用两个
goroutine
交替、顺序打印一段字符串的字符输入:helloworld输出:helloworld关键点:控制
goroutine
的执行先后循序golang语言版本:packagemainimport
码说AI
·
2023-10-18 13:08
算法题
channel一篇全搞定
什么是channelchannel是一个数据管道,可以往里面写数据,可以从里面读数据,channel是
goroutine
之间数据通信的桥梁,而且是线程安全的,channel遵循先进先出的原则,写入数据和读出数据都会加锁
饱腹百科
·
2023-10-18 00:50
go
golang
这些 channel 用法你都用起来了吗?
channel是GO语言中一种特殊的类型,是连接并发
goroutine
的管道channel通道是可以让一个
goroutine
协程发送特定值到另一个
goroutine
协程的通信机制。
阿兵云原生
·
2023-10-17 23:27
golang
开发语言
Golang
goroutine
1_CdjOgfolLt_GNJYBzI-1QQ.jpeg
goroutine
简介
goroutine
是go语言中最为NB的设计,也是其魅力所在,
goroutine
的本质是协程,是实现并行计算的核心。
frederickhou
·
2023-10-17 11:53
Go语言并发编程
Go语言并发编程1.并发编程1.1、并发1.2、
goroutine
1.3、加锁1.4、channel1.4.1、实例:1.4.2、基本语法1.4.3、select1.4.4、单向定义channel1.4.5
binshao.wang
·
2023-10-17 10:21
golang
笔记
go
后端
开发语言
使用 Go 语言进行并发编程的实践方法
一、并发模型Go语言的并发模型是基于
goroutine
和channel的,
goroutine
是一种轻量级线程,它可以在同一个进程中并
Mr.亮先生
·
2023-10-17 10:17
Go语言开发实践指南
golang
开发语言
后端
深入理解Go语言的并发编程
一、并发编程原理Go语言的并发编程原理主要基于
Goroutine
和Channel两个概念。
Goroutine
是一种轻量级的线程,它可以在Go语言的运行时环境中被创建和销毁,而且创建和销毁的代价非常小。
哇噻爸
·
2023-10-17 10:46
Go基础
Go
golang
开发语言
后端
Go语言的并发编程
当一个函数创建为协程(
goroutine
)时,Go语言会将其视为一个独立的工作单元,这个单元会被调度到可用的逻辑处理器上执行。
DXB2021
·
2023-10-17 10:10
Go语言
golang
开发语言
后端
Go并发编程系列(一) 多进程编程与进程同步之Pipe管道
Signal信号量Go并发编程系列(三)多进程编程与进程同步之Socket编程Go并发编程系列(四)多线程基本概念与线程模型Go并发编程系列(五)go并发机制之MPG模型Go并发编程系列(六)go并发机制之
goroutine
张柏沛
·
2023-10-16 23:07
go并发编程系列
go语言
并发编程
Golang 面试总结 MySQL 面试总结 Redis 面试总结
Golang相比较于其他语言,Go有什么优势或者特点Go允许跨平台编译,编译出来的是二进制的可执行文件,直接部署在对应系统上即可运行Go在语言层面上天生支持并发编程,通过
goroutine
和channel
uni_CHAO
·
2023-10-16 23:41
Go
Redis
MySQL
golang
开发语言
后端
Golang 协程 与 Java 线程池的联系
Golang协程与Java线程池的联系引言Java线程池缺陷Golang协程实现思路0.x版本1.0版本1.1版本
Goroutine
抢占式执行基于信号的抢占式调度队列轮转系统调用工作量窃取GOMAXPROCS
Binary Oracle
·
2023-10-16 23:08
#
Go语言设计与实现
golang
channel 源码解析
设计原理image.png目前的Channel收发操作均遵循了先进先出的设计,具体规则如下:先从Channel读取数据的
Goroutine
会先接收到数据;先向Channel发送数据的
Goroutine
会得到先发送数据的权利
Xuenqlve
·
2023-10-16 20:06
Go协程揭秘:轻量、并发与性能的完美结合
1.Go协程简介Go协程(
goroutine
)是Go语言中的并发执行单元,它比传统的线程轻量得多,并且是Go语言并发模型中的核心组成部分。
Lamb!
·
2023-10-16 19:26
Go
golang
开发语言
后端
实战Go内存泄露
关于Go的内存泄露有这么一句话不知道你听过没有:10次内存泄露,有9次是
goroutine
泄露。我所解决的问题,也是
goroutine
泄
Amars_丁
·
2023-10-16 17:50
go语言
golang
站在山顶上看golang的前世今生与未来展望
市场强劲需求Go语言优势兼顾C语言级别的编译、运行效率,容易部署,PHP级别的开发效率强大的标准库,内置高效的垃圾回收机制简单的并发编程,
goroutine
和channel极易上手静态类型语言,拥有强大的编译检查
linux地平线
·
2023-10-16 06:48
golang
golang
java
金山wps golang面试题总结
简单自我介绍如果多个协程并发写map会导致什么问题如何解决(sync.map,互斥锁,信号量)chan什么时候会发生阻塞如果chan缓冲区满了是阻塞还是丢弃还是panicchan什么时候会panic描述一下
goroutine
科比不来it
·
2023-10-15 23:49
golang
golang
开发语言
后端
golang-性能分析(原生工具)
使用情况2.2.1基本分析2.2.2测试频繁占用CPU资源2.3使用gotoolpprof分析内存使用情况2.3.1直接查看内存使用情况2.3.2测试频繁申请内存场景2.3.3两个时间段的堆内存对比2.4
goroutine
xiaoliizi
·
2023-10-15 23:43
golang
golang
Golang 定时器与 time.After() 结合使用踩坑记录
功能描述:在
goroutine
定时执行一些内容比如:打印helloworld,然后五分钟或者十分钟后退出goroutin。
SunnyJim
·
2023-10-15 17:19
golang
学习路线
golang
time
NewTicker
time.After
select
Go中看似简单的WaitGroup源码设计,竟然暗含这么多知识?
Go语言提供的协程
goroutine
可以让我们很容易地写出多线程程序,但是,如何让这些并发执行的
goroutine
得到有效地控制,这是我们需要探讨的问题。
机器铃砍菜刀
·
2023-10-15 10:52
指针
java
go
编程语言
多线程
循序渐进学习
goroutine
和channel
eg1:'''packagemainimport("fmt""sync")funcmain(){varwgsync.WaitGroupwg.Add(2)fmt.Println("Startsub
goroutine
s
爱摄影_6bd0
·
2023-10-15 02:51
Go|sync.mutex 源代码分析
,代码位置:sync/mutex.gosync_mutex.jpeg结构体定义typeMutexstruct{stateint32//指代mutex锁当前的状态semauint32//信号量,用于唤醒
goroutine
CoffeeRabbit
·
2023-10-14 18:08
golang使用select超时处理
在一些出现
goroutine
阻塞的情况下,如何避免整个程序进入阻塞的情况呢?可以采用select来设置超时,具体情况参照下面例子。
wade3015
·
2023-10-14 11:54
Golang
golang
select
goto
超时处理
goroutine
golang channel select 使用
chan管道是多个
goroutine
进行通信的一种方式,跟linux中管道一样,linux中进程之间的通讯使用管道,管道遵循"先进后出"原则1.channel的使用场景消息传递、消息过滤信号广播消息传递
凄魅旋律
·
2023-10-14 11:50
golang
golang
开发语言
后端
面试官:Go 有哪些方式安全读写共享变量
然而,在多个
goroutine
同时访问共享变量的情况下,可能会出现数据竞争和不确定的结果。为了确保数据的一致性和正确性,Go提供了多种方式来安全读写共享变量。
程序员caspar
·
2023-10-14 11:56
golang
开发语言
后端
面试官:Go 并发编程的秘密武器
大家好,我是木川Go语言的并发性能的关键组成部分在于其调度原理,Go使用一种称为M:N调度的模型,其中M代表操作系统的内核态线程,而N代表用户态线程
Goroutine
s(Go语言的轻量级线程)实质上,
Goroutine
程序员caspar
·
2023-10-14 11:20
golang
服务器
网络
开发语言
后端
golang分层测试之http压测脚本编写(2)
前言前一篇文已经简单讲解怎么通过
goroutine
s的能力编写并发http压测脚本,但前文有提到过,主线程为了等待
goroutine
都运行完毕,不得不在程序的末尾使用time.Sleep()来睡眠一段时间
周学习的名字被占了
·
2023-10-13 19:50
golang Slice和Map并发安全问题
golangSlice和Map并发安全问题多个
goroutine
对同一个Slice进行写是不安全的。
一闪一闪满天星
·
2023-10-13 16:52
golang
golang之map并发访问
map不是并发安全的数据结构,倘若存在并发读写行为,会抛出fatalerror.具体规则是:(1)并发读没有问题;(2)并发读写中的“写”是广义上的,包含写入、更新、删除等操作;(3)读的时候发现其他
goroutine
techdashen
·
2023-10-13 16:51
后端
Go针对并发访问slice出现问题的解决方法
Go针对并发访问slice出现问题的解决方法方法1执行加锁操作funcmain(){var(slice1=[]int{}n=1000wg=sync.WaitGroup{}//用于控制
goroutine
在
ArecaNut
·
2023-10-13 16:49
Go
golang
并发编程
Golang 学习笔记3:Go 并发与网络
目录13,Go错误处理1,error接口2,panic异常3,defer函数14,Go并发1,
goroutine
2,channel3,无缓冲channel的惯用法4,有缓冲channel的惯用法5,nilchannel6
码农充电站
·
2023-10-13 13:48
技术入门
golang
学习
开发语言
Go channel同步
在Go语⾔当中,也设计了⼀款类似的通信⽅式–channel,利⽤channel读写的特性,不光可以实现
Goroutine
之间精准通信,也可以控制
Goroutine
之间的
季布,
·
2023-10-12 21:58
Go
golang
开发语言
后端
Java虚拟线程
自从Go凭着
goroutine
又带火了协程这个概念,连近亲Kotlin也有了协程,Java终于坐不住了,最新的release19里带来了Java版协程,即虚拟线程(VirtualThread)。
白泽-默
·
2023-10-12 12:11
java
java
开发语言
Java高并发革命,JDK19新特性——虚拟线程(Virtual Threads)
介绍虚拟线程具有和Go语言的
goroutine
s和Erlang语言的进程类似的实现方式,它们是用户模式(user-mode)线程的一种形式。
yumo丶
·
2023-10-12 12:08
java
并发
java
jvm
面试
后端
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他