对于新的goroutine,Golang错误函数参数太大了

对于新的goroutine,Golang错误函数参数太大了,第1张

概述我正在使用go 1.4运行程序,我正在尝试将一个大型结构传递给go函数. go ProcessImpression(network, &logImpression, campaign, actualSpent, partnerAccount, deviceId, otherParams) 我收到此错误: runtime.newproc: function arguments too large f 我正在使用go 1.4运行程序,我正在尝试将一个大型结构传递给go函数.

go ProcessImpression(network,&logImpression,campaign,actualSpent,partnerAccount,deviceid,otherParams)

我收到此错误:

runtime.newproc: function arguments too large for new goroutine

我已经移动通过引用传递有帮助,但我想知道是否有一些方法来传递go函数中的大型结构.

谢谢,

解决方法 不,我都不知道.

我不认为你应该过于激进地调整以避免复制,但是当参数超过新goroutine的可用堆栈空间(应该是千字节)时,会出现这个错误.复制开销在那时是真实的,特别是如果这不是复制这些东西的唯一时间.由于大型结构成员(比如1kb数组而不是切片)或间接结构成员,也许某些结构显式地大于预期结构.如果没有,只需使用指针就行了,如果你担心创建垃圾,请回收使用sync.Pool指向的结构.

总结

以上是内存溢出为你收集整理的对于新的goroutine,Golang错误函数参数太大了全部内容,希望文章能够帮你解决对于新的goroutine,Golang错误函数参数太大了所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1265663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存