Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
检查函数是否被作为 goroutine 调用
有什么办法可以知道正在运行的函数是否被调用为 goroutine 吗 我读过 gotour 并且对使用 golang 构建 websocket 服务器感兴趣 所以我找到了这个教程https tutorialedge net golang g
go
Goroutine
Webhook 进程在另一个 goroutine 上运行
我想在另一个 goroutine 中运行一些缓慢的例程 这样做安全吗 func someHandler w http ResponseWriter r http Request go someReallySlowFunction sendi
http
go
server
Goroutine
使用sync.WaitGroup和通道的Golang应用程序永远不会退出
I use sync WaitGroup defer wg Close and wg Wait 等待我的 goroutine 完成 该程序确实会等待 但它永远不会退出 这是我的程序 可运行 package main import fmt i
go
Goroutine
golang http超时和goroutines累积
我使用goroutines实现http Get超时 然后我发现goroutines的数量一直在稳步上升 当达到1000个左右时 程序就会退出 Code package main import errors io ioutil log net
http
go
Goroutine
如何杀死 goroutine? [复制]
这个问题在这里已经有答案了 我想知道如何杀死 停止 goroutine 所有示例都基于通道和选择 这似乎只有在 goroutine 包含一些可以在通道上监听的重复任务时才有效 有没有办法在下面的 goroutine 返回之前停止它 pack
go
Goroutine
解决 goroutine 死锁
我一直在尝试解决我在Golang并发中遇到的这个简单问题 我一直在搜索所有可能的解决方案 但没有发现任何特定于我的问题的解决方案 或者我可能会错过一个 这是我的代码 package main import fmt time func pro
go
concurrency
channel
Goroutine
为什么此代码会导致数据争用?
1 package main 2 3 import time 4 5 func main 6 m1 make map string int 7 m1 hello 1 8 m1 world 2 9 go func 10 for i 0 i l
go
concurrency
Goroutine
datarace
如果包含 time.Sleep,则 Goroutine 不会执行
下面的代码运行得非常好 package main import fmt func my func c chan int fmt Println lt c func main c make chan int go my func c c lt
go
concurrency
channel
Goroutine
Go调度器什么时候会创建新的M和P?
刚刚学习了golang GMP模型 现在我了解了goroutines 操作系统线程和golang上下文 处理器如何相互协作 但我还是不明白什么时候会产生M和P 例如 我有一个测试代码来在数据库上运行一些操作 并且有两个测试用例 两批 gor
Multithreading
go
operatingsystem
SCHEDULE
Goroutine
在启动期间从读取文件加载数据,然后处理新文件并从映射中清除旧状态
我正在开发一个项目 在启动过程中 我需要读取某些文件并将其存储在地图的内存中 然后定期查找新文件 如果有 然后用此替换启动期间地图中内存中的所有文件新数据 基本上每次如果有一个新文件full state然后我想将内存中的映射对象刷新到这个新
Multithreading
go
concurrency
channel
Goroutine
通道发送是否是 goroutine 调度的抢占点?
从我对Go调度器的理解来看 Go调度算法是部分先发制人 当 goroutine 调用函数或阻塞 I O 时 会发生 goroutine 切换 向通道发送消息时是否会发生 goroutine 切换 goroutine A ch lt mess
go
Scheduling
channel
Goroutine
最大 goroutine 数量
我可以无痛地使用多少个 goroutine 例如维基百科说 在 Erlang 中可以创建 2000 万个进程而不会降低性能 Update 我刚刚研究 goroutine 性能一点点 得到了这样的结果 看起来 goroutine 的生命周期比
go
multitasking
Goroutine
Go 程序的主 Goroutine 和衍生 Goroutine 之间的区别
创建服务器时使用gRPC 如果我开始gRPC服务器在主进程中 它可以处理来自客户端的请求 数千个 但是 如果我将服务器作为 goroutine 启动 它只能处理一些请求 数百个 然后就会卡住 我已经用一个非常简单的示例 google gol
go
Goroutine
gRPC
缓冲区为空后关闭“worker”go 例程
我想要我的 goroutine 工作人员 ProcessToDo 在下面的代码中 等待所有 排队 工作处理完毕后再关闭 工作例程有一个 待办事项 通道 缓冲 通过该通道将工作发送给它 它有一个 完成 通道来告诉它开始关闭 文档称 如果满足多
go
concurrency
shutdown
channel
Goroutine
通过错误组处理 goroutine 终止和错误处理?
我试图以这种方式并行读取多个文件 以便每个读取文件的 go 例程将其数据写入该通道 然后有一个 go 例程监听该通道并将数据添加到映射中 这是我的play 下面是剧中的例子 package main import fmt sync func
go
channel
Goroutine
如何使用 WaitGroup 处理错误并终止 Goroutine
我今天一直在研究 Goroutines Channels 和 WaitGroup 在阅读了一段时间之后 我终于开始理解这个概念了 我的问题是 我不确定在这样工作时如何处理错误 主要是因为我使用了 WaitGroup 使用 WaitGroup
go
concurrency
Goroutine
简单的 goroutine 无法在 Windows 上运行
我正在对 goroutine 进行一些测试 只是为了了解它们是如何工作的 但它们似乎根本没有运行 我做了一个非常简单的测试 package main import fmt func test fmt Println test func ma
Windows
go
Goroutine
我可以同时写入不同的切片元素吗
我有一个包含要完成的工作的切片 还有一个包含完成所有操作后的结果的切片 下面是我的大致流程的一个草图 var results make Result len jobs wg sync WaitGroup for i job range jo
go
concurrency
slice
Goroutine
如果 go 中的一个 goroutine 发生错误,则关闭多个 goroutine
考虑这个函数 func doAllWork error var wg sync WaitGroup for i 0 i lt 2 i wg add 1 go func defer wg Done for j 0 j lt 10 j resu
go
errorhandling
synchronization
exit
Goroutine
Go并发和通道混乱
我是 Go 新手 在理解并发和通道方面遇到问题 package main import fmt func display msg string c chan bool fmt Println display first message ms
concurrency
go
channel
Goroutine
«
1
2
3
4
»