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
golang
goroutine
and thread
我们的程序是如何被运行的?学习过操作系统的人,应该对进程和线程的模型都是有所了解的。按照我的理解:「进程」是操作系统资源分配的基本单位,它给程序提供了一个良好的运行环境。「线程」则是一个轻量级的进程,一个「进程」中可以有很多线程,但是最终在一个CPU的核上只能有一个「进程」的其中一个「线程」被执行。所以,我们的一个程序的执行过程可以粗略的理解为:程序的可执行文件被Load到内存中创建进程&创建主线
蔡欣圻
·
2023-04-16 04:50
Go语言开发小技巧&易错点100例
本期看点(技巧类用【技】表示,易错点用【易】表示):(1)
goroutine
控制并发数量的方式【技】(2)Go发起HTTP请求【技】(3)包循环依赖导致的异常【易】正文如下:1
goroutine
控制并发数量的方式
码云笔记
·
2023-04-15 19:44
杂七杂八
golang
算法
java
Go语言开发小技巧&易错点100例(四)
往期回顾:Go语言开发小技巧&易错点100例(一)Go语言开发小技巧&易错点100例(二)Go语言开发小技巧&易错点100例(三)本期看点(技巧类用【技】表示,易错点用【易】表示):(1)
goroutine
海风极客
·
2023-04-15 19:42
项目实战经验
golang
开发语言
后端
学习
Go语言开发小技巧&易错点100例(二)
往期回顾:Go语言开发小技巧&易错点100例(一)本期看点(技巧类用【技】表示,易错点用【易】表示):(1)GoModule中对依赖库版本的升级与降级【技】(2)Go
goroutine
中的异常处理【易】
海风极客
·
2023-04-15 19:41
go
易错点
go技巧
Go 实战Go内存泄漏,pprof定位内存泄漏问题
关于Go的内存泄露有这么一句话不知道你听过没有:10次内存泄露,有9次是
goroutine
泄露。我所解决的问题,也是
goroutine
泄露导致的内存泄露,所以这篇文章主要介绍Go程序的go
Mark66890620
·
2023-04-15 18:41
Golang
golang
golang的pprof快速使用
pprof"代码监听:http.ListenAndServe(ip,nil)//ip比如127.0.0.1:6069web访问:http://127.0.0.1:6069/debug/pprof/(其中,点击
goroutine
Yang-Bill
·
2023-04-15 18:10
golang
linux
java
Go中的特殊协程g0
【译文】原文地址本文基于go1.13版本所有在Go中创建的
goroutine
s都由一个内部调度程序的管理。
Go语言由浅入深
·
2023-04-15 12:04
go 并发之 channel
go并发模型Go语言中有两种并发编程模型,除了普遍认知的多线程共享内存模型,还把CSP的思想融入到语言的核心里,基于
goroutine
和channel实现了其特有的CSP并发模型,使并发编程成为Go的一个独特优势
朱建涛
·
2023-04-15 04:34
goroutine
、channel原理
goroutine
原理概念介绍并发⼀个CPU上能同时执⾏多项任务,在很短时间内,CPU来回切换任务执⾏(在某段很短时间内执⾏程序a,然后⼜迅速得切换到程序b去执⾏),有时间上的重叠(宏观上是同时的,微观仍是顺序执
强某某
·
2023-04-15 04:36
channel基本介绍狗朗
channel用来在协程[
goroutine
]之前传递数据,准确的说,是用来传递数据的所有权。一个设计良好的程序应该确保同一时刻channel里面的数据只会被同一个
weixin_44282540
·
2023-04-14 21:36
golang
golang面试题:对未初始化的的chan进行读写,会怎么样?为什么?
举例1.写未初始化的chanpackagemain//写未初始化的chanfuncmain(){varcchanintc<-1}//输出结果fatalerror:all
goroutine
sareasleep-deadlock
9號
·
2023-04-14 02:41
Go并发(2)
如果说
goroutine
是Go程序并发的执行体,channel就是它们之间的连接。channel是可以让一个
goroutine
发送特定值到另一个
goroutine
的通信机制。
元你所愿-深深
·
2023-04-14 01:32
go
学习
go 语言 php并发,Go语言_并发篇
Go中并发程序依靠的是两个:
goroutine
和channel理解什么是
goroutine
?对于初学者,
goroutine
直接理解成为线程就可以了。
weixin_39942191
·
2023-04-14 01:29
go
语言
php并发
Go语言初学者之学习笔记
其唯一的创新之处是
goroutine
s和
程序猿柴
·
2023-04-14 01:57
go语言学习
go
粉丝福利|Go并发编程学习路线图
谈到Go语言首先想到的是原生支持高并发,毕竟在Go语言里一个go关键字就能开一个
goroutine
并发执行任务,而在Java里还得实现Runnable接口,做同步控制得加synchronized关键字修饰方法
kevin_tech
·
2023-04-14 01:55
编程语言
人工智能
java
go
数据分析
初学者Go并发(3)
3、workerpool(
goroutine
池)在工作中我们通常使用指定启动得
goroutine
数量-Workerpool模式,来控制
goroutine
得数量,防止
goroutine
泄露和暴涨实例代码如下
元你所愿-深深
·
2023-04-14 01:53
golang
java
开发语言
golang 并发编程
CSPcommunicatingsequentialprocesssharememory线程模型1.用户级线程模型M:12.内核级线程模型1:13.两级线程模型M:N调度GPM调度策略源码分析触发调度线程启动协程执行结束主动挂起系统调用协作式调度系统监控协程
goroutine
Mars'Ares
·
2023-04-13 14:33
go
golang
Go并发编程-Context包
一、前言在Go服务器中,对于每个新来的请求都会开启新的
goroutine
来进行处理,每个请求处理器通常又会开另外的新
goroutine
来访问后端服务(比如数据库和rpc服务)。
阿里加多
·
2023-04-13 14:03
Golang 并发编程指南
Goroutine
goroutine
并发模型调度器主要结构主要调度器结构是M,P,GM,内核级别线程,
goroutine
基于M之上,代表执行者,底层线程,物理线程P,处理器,用来执行
goroutine
,
极客重生
·
2023-04-13 14:32
go
python
java
分布式
面试
golang并发编程之context控制协程退出
Context可以让我们在多个
goroutine
之间传递取消信号,并且能够及时终止协程的执行。它非常适用于一些需要及时停止的场景,比如网络请求、任务执行等。
SMILY12138
·
2023-04-13 14:58
golang
golang八股文整理(持续搬运)
10.GC的触发条件11.怎么查看
Goroutine
的数量?怎么限制Gorou
小张同学该努力了
·
2023-04-13 13:35
go语言
golang
Golang并发编程重点讲解
目录1、通过通信共享2、
Goroutine
s3、Channels3.1Channel都有哪些特性3.2channel的最佳实践4、Channelsofchannels5、并行(Parallelization
·
2023-04-13 12:13
Go语言精修(尚硅谷笔记)第十六章
十六、
goroutine
和channel16.1
goroutine
线程-基本介绍进程就是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位线程是进程的一个执行实例,是程序执行的最小单元,
瞧帆
·
2023-04-13 10:31
go语言分布式开发
golang
java
jvm
Go并发
Go语言的并发通过
goroutine
实现。
goroutine
类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个
goroutine
并发工作。
goroutine
是由Go
吴佳浩
·
2023-04-13 10:05
Golang学习笔记-Channel
Golangchannel作为Go的核心的数据结构和
Goroutine
之间的通信,是支撑Go语言高并发的关键设计原理Go语言提供了一种不同的并发模型,也就是通信顺序进程(Communicatingsequentialprocesses
LegendGo
·
2023-04-13 09:08
使用Go语言每分钟处理1百万请求
在Go中要实现高并发,可以使用
goroutine
每个请求都开启一个
goroutine
去处理,但这样的方式当流量大了就不太可行了,另一种方法是开启一个channel缓存请求队列然后再forselect循环去取任务
草帽boy7
·
2023-04-12 09:02
Go
golang
高并发
线程池
Golang应用程序性能优化技巧分享
目录一、概述二、关于性能优化的方向延迟问题资源效率算法效率三、提高Golang应用程序性能的最佳实践1.并行化CPU工作2.观察你的超时3.使I/O操作异步4.减少
Goroutine
s的使用5.使用无锁算法
·
2023-04-12 01:51
Golang Reflection
此外,他是线程安全的(或者叫
goroutine
安全).StructsforCasetypeCla
WoodsWalker
·
2023-04-11 09:13
Golang pprof监控之cpu占用率统计原理详解
统计原理分析线程处理信号的时机内核发送信号的方式采样数据的公平性总结经过前面的几节对pprof的介绍,对pprof统计的原理算是掌握了七八十了,我们对memory,block,mutex,trace,
goroutine
·
2023-04-11 00:40
【GO语言】合理配置GOMAXPROCS提升一倍以上的性能
我们来复习下Go的线程模型,M/P/G三种对象,分别代表操作系统线程、协程执行令牌、协程;在任何情况下,Go运行时并行执行(注意,不是并发)的
goroutine
s数量是小于等于P的数量
weixin_34191845
·
2023-04-10 20:20
golang
操作系统
关于GOMAXPROCS的设置
G-P-M模型我们知道在Goscheduler中,G代表
goroutine
,P代表LogicalProcessor,M是操作系统线程。在绝大多数时候,其实P的数量和M的数量是相等。
又一个十年
·
2023-04-10 20:49
Golang
docker
开发语言
Golang runtime运行时
让当前线程让出cpu以让其它线程运行,它不会挂起当前线程,因此当前线程未来会继续执行NumCPU:返回当前系统的CPU核数量GOMAXPROCS:设置最大的可同时使用的CPU核数Goexit:退出当前
goroutine
蜗牛你慢点Ⅷ
·
2023-04-10 20:12
Golang
go
golang
go的channel
如果没有
goroutine
读取channel(<-channel),则发送者(channel<-)会一直阻塞。带缓冲:缓冲channel类似一个有容量的队列。
Zeaone
·
2023-04-10 14:01
Golang-12并发
Go语言的并发通过
goroutine
实现。
goroutine
类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个
goroutine
并发工
凯歌响起
·
2023-04-10 07:12
#
Golang
golang
开发语言
后端
Golang -- 并发
在任何给定时间,只有一个
goroutine
可以访问该值。根据设计,数据竞争是不可能发生的。为了鼓励这种思维方式,我们把它简化为一句口号:Donotcom
chinusyan
·
2023-04-10 07:08
Golang
golang
开发语言
Go 语言入门(二) -- 工程实践进阶 协程
Goroutine
通道Channel 互斥锁 mutex 计数器waitGroup GoPath包管理
Go语言入门–工程实践进阶1.
Goroutine
1.1Why
Goroutine
线程属于内核态,栈内核态;协程是轻量级线程,栈kB级属于用户态如下代码:直接使用关键词go可以直接创建一个协程funchello
异已
·
2023-04-10 04:02
Go
golang
开发语言
go
go进阶原理
目录数据结构chanslicemap网络编程SocketRESTRPCWebSocket并发编程
goroutine
chanselectsyncMutexRWMutexWaitGroupContextOncePoolAtomic
魏大东ooo
·
2023-04-10 04:32
go语言之进阶篇创建
goroutine
协程
1、
goroutine
是什么
goroutine
是Go并行设计的核心。
weixin_30737433
·
2023-04-10 04:29
GoLang学习笔记之进阶编程(二):
Goroutine
与Channel
目录前言一、并发与并行二、
Goroutine
2.1.什么是
Goroutine
?
Allen-LuLu
·
2023-04-10 04:58
GoLang进阶
golang
开发语言
后端
go语言进阶-并发
title:go语言进阶-并发date:2020-09-0119:58:37文章目录0.前言1.并发与并行2.进程线程协程3.
Goroutine
4.Go并发调度器模型G-P-M5.Go并发应用6.Go并发同步模型
dounineli
·
2023-04-10 04:23
程序设计基础
go
golang通用连接池的实现
golang的channel除了
goroutine
通信之外还有很多其他的功能,本文将实现一种基于channel的通用连接池。何为通用?
core1988
·
2023-04-10 01:06
Go语言并发安全
go语言最重要的特点就是原生支持并发————
goroutine
。而用到并发,就不得不考虑数据安全的问题。Go语言里有两种方式实现并发安全。
高稚商de菌
·
2023-04-09 23:37
Goroutine
随笔
很早之前在lua中实现过一版协程,lua的栈是虚拟的,当要切换协程时虚拟栈不需要退栈,只需要从C的栈(物理栈)退出。恢复也简单,直接在lua的虚拟栈压入返回值,lua就可以继续运行了。这版协程比较简单,虽然不支持lua的栈与C栈交替存在,但当时也没这种需求,运行的也算问题,没什么特别的Bug。最近在看Go,开始以为Go的routine也是虚拟栈,很快发现不对,Go是编译语言,不是解释语言,Go的栈
giafei
·
2023-04-09 09:27
eclipse中没有runtime environments_Go语言中的panic和recover
这两个关键字都与defer有千丝万缕的联系,也都是Go语言中的内置函数,但是提供的功能却是互补的:panic能够改变程序的控制流,函数调用panic时会立刻停止执行函数的其他代码,并在执行结束后在当前
Goroutine
风中冰屑
·
2023-04-09 08:07
environments
Go Channel
虽然可以使用共享内存进行数据交换,但是共享内存在不同的
goroutine
中容易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。
响彻天堂丶
·
2023-04-08 20:43
GO
golang
算法
c++
Golang常见面试题及解答
常见面试题及解答注意1、Golang的Slice【切片】、数组2、Golang函数去重【代码】3、Golang的channel关闭【代码】4、Golang`反转链表`【代码】5、Golang交替打印【代码】6、
goroutine
西木Qi
·
2023-04-08 20:45
Golang面试问题
golang
面试
go语言知识点整理05 并发相关 mutex
golang主要有两种锁:互斥锁和读写锁互斥锁Mutex:Mutex用于提供一种加锁机制(LockingMechanism),保证同一时刻只有一个
goroutine
在临界区运行。互斥锁定义
kuaipao19950507
·
2023-04-08 16:45
go语言
Goroutine
的上下文存储(续)
要做
Goroutine
级别的存储,首先是要获取到
Goroutine
的标识,之前提到过获取routineid的两个库,效率也比较低下,用在性能要求比较苛刻的场景下并不适合。
元家昕
·
2023-04-08 16:14
深入理解Go语言中的sync.Cond
能够更好地理解和应用Cond来实现
goroutine
之间的同步。2.基本使用2.1定义sync.Cond是Go语言标准库中的一个类型,代表条件变量。
NightSkyWanderer
·
2023-04-08 11:32
go并发
Go
后端
同步协程的必备工具: WaitGroup
能够更好地理解和应用WaitGroup来协调多个
Goroutine
的执行,提高Go并发编程的效率和稳定性。
NightSkyWanderer
·
2023-04-08 11:01
go并发
Go
后端
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他