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 语言进行并发编程的实践方法
一、并发模型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
面试
后端
一次Go项目进程重启故障问题排查
从监控指标还可以看出,go的线程数是平稳趋势,可以排除
goroutine
导致的内存泄
Java艺术
·
2023-10-12 10:59
性能分析&故障排查
golang
开发语言
后端
Go 通道机制与应用详解
其中,通道(Channel)是Go并发模型的核心概念之一,设计目的是为了解决不同协程(
Goroutine
)间的数据通信和同步问题。
Lamb!
·
2023-10-12 02:05
Go
go
WaitGroup原理分析
导致的数据库延时增加,我们可以把一次请求拆分成多次请求,并发去处理,当所有的并发请求完成后,再继续处理这些返回的数据golang中的WaitGroup,就可以帮助我们实现上述的场景快速入门背景:开启10个
goroutine
林欣快滚去学习
·
2023-10-11 23:14
golang
Go Select 详解
select是一种go可以处理多个通道之间的机制,看起来和switch语句很相似,但是select其实和IO机制中的select一样,多路复用通道,随机选取一个进行执行,如果说通道(channel)实现了多个
goroutine
tracy_668
·
2023-10-11 14:03
fasthttp
转自:https://segmentfault.com/a/1190000009133154
goroutine
status:main0:wp.Start()g1:forlooptocleanidleworkerChang2
sealwang24
·
2023-10-11 06:40
被遗弃在角落里的 sync.Cond
Go语言通过go关键字开启
goroutine
让开发者可以轻松地实现并发编程,而并发程序的有效运行,往往离不开sync包的保驾护航。
机器铃砍菜刀
·
2023-10-11 06:05
java
编程语言
并发编程
多线程
go
Golang笔记: channel
中读取数据Chan关闭sendq、recvqG释放释放接收方释放发送方协程调度channelsend/recv分析sendrecv细节参考博客定义不要通过共享内存来通信,而是通过通信来实现内存共享多个
goroutine
ether-lin
·
2023-10-11 06:34
Golang
golang
限流算法学习:漏桶 & 令牌桶算法
实际应用时,我们不大可能在单机执行限流,下面的实现也并非线程或
goroutine
安全的。
0xE8551CCB
·
2023-10-11 00:01
浅谈Go语言(5) - 通道的使用与进阶
文章目录1.写在前面2.通道的基础知识(1)通道的定义(2)通道的使用(3)通道的基本特性发送/接收的互斥性元素值的处理不可分割发送/接收过程中会阻塞(4)通道须注意的问题通道的初始化通道的关闭通道
goroutine
小爱玄策
·
2023-10-10 10:17
Go
go
golang
golang:有缓存channel和无缓存channel的区别
在任何时候,同时只能有一个
goroutine
访问通道进行发送和获取数据。
OceanStar的学习笔记
·
2023-10-09 21:52
golang
golang:channel 全面解析
前言channel是
goroutine
与
goroutine
之间通信的重要桥梁,借助channel,我们能很轻易的写出一个多协程通信程序。今天,我们就来看看这个channel的常用用法以及底层原理。
Hud.
·
2023-10-09 21:50
Golang
golang
Go学习:channel
概念
goroutine
与
goroutine
之间的双向通道就是channel语法定义packagemainimport"fmt"funcchanDemmo(){c:=make(chanint)c<-1c<
.番茄炒蛋
·
2023-10-09 21:48
Go学习
golang
开发语言
后端
golang基础:channel的应用场景
前言channel是
goroutine
与
goroutine
之间通信的重要桥梁,借助channel,我们能很轻易的写出一个多协程通信程序。今天,我们就来看看这个channel的常用的应用场景。
北漂燕郊杨哥
·
2023-10-09 21:45
golang
golang
开发语言
后端
深入理解GO语言:channel结构及方法
channel是在同一个进程内不同协程之间的通信方式,最常见的
goroutine
就是协程。
souy_c
·
2023-10-09 21:15
go
golang
golang开发:channel使用
channel主要是用于多个
goroutine
之间通信channel语法channel是引用类型,需要实用make来创建channel,如下make(chanType,[buffer])chanType
飞翔码农
·
2023-10-09 21:15
go
go
golang
使用
Goroutine
和 Chanel 快速实现并发和排队
用
Goroutine
模拟同时有12个客户需要办理业务的过程。
DJN_
·
2023-10-09 09:19
Golang语言介绍、环境搭建以及编译工具( CDN 加速代理)
Go语言的并发是基于
goroutine
的,
goroutine
类似于线程,但并非线程。可以将
goroutine
理解为一种虚拟线程。
赵唯一
·
2023-10-09 04:36
#
Golang
golang
开发语言
后端
go中宕机与恢复 panic/recover 介绍
Go语言程序在宕机时,会将堆栈和
goroutine
信息输出到控制台,所以宕机也可以方便地知晓发生错误的位置.一、panic宕机funcpanic(vinterface{})panic()的参数可以是任意类型
勤天
·
2023-10-09 01:24
go
宕机
恢复
Go - Context: 信息穿透上下文
使用场景上下文传递信息(request-scoped),比如处理http请求、在请求处理链路上传递信息;控制子
goroutine
的运行;超时控制的方法调用(timeout);可以取消的方法调用(calcel
kyo1992
·
2023-10-08 20:12
Golang高级数据结构
控制并发数3、channel数据结构4、创建channel5、向channel发送数据流程源码分析6、从channel接收数据流程源码分析7、代码应用举例8、channel关闭流程二、GMP数据结构1、G—
goroutine
2
进击的程序猿~
·
2023-10-08 12:41
GO
golang
数据结构
java
Golang--channel+waitGroup控制并发量
文章目录channel+waitGroup控制并发量前言示例channel+waitGroup控制并发量前言golang的
goroutine
非常轻量级,同时启动数万协程都没问题。
银痕
·
2023-10-08 01:01
Golang
golang
开发语言
后端
多线程
协程
关于Go语言的底层,Channel
Go的CSP(CommunicatingSequentialProcess)并发模型,中文可以叫做通信顺序进程,是通过
goroutine
和channel来实现的。
林欣快滚去学习
·
2023-10-07 11:11
golang
开发语言
后端
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他