草庐IT

language-concurrency

全部标签

concurrency - 这个chan是怎么泄露的?

我试图理解这张幻灯片上概述的问题:http://talks.golang.org/2013/bestpractices.slide#27复制代码以防URL失效:funcsendMsg(msg,addrstring)error{conn,err:=net.Dial("tcp",addr)iferr!=nil{returnerr}deferconn.Close()_,err=fmt.Fprint(conn,msg)returnerr}funcbroadcastMsg(msgstring,addrs[]string)error{errc:=make(chanerror)for_,addr:=

concurrency - 这个chan是怎么泄露的?

我试图理解这张幻灯片上概述的问题:http://talks.golang.org/2013/bestpractices.slide#27复制代码以防URL失效:funcsendMsg(msg,addrstring)error{conn,err:=net.Dial("tcp",addr)iferr!=nil{returnerr}deferconn.Close()_,err=fmt.Fprint(conn,msg)returnerr}funcbroadcastMsg(msgstring,addrs[]string)error{errc:=make(chanerror)for_,addr:=

concurrency - channel 的读写排除

我想用Go编写一个小型内存数据库。读取和写入请求将通过channel传递并由数据库引擎处理,这将确保正确完成访问。第一个想法是模仿RWMutex的行为.只是它会使用更惯用的go风格。这是我想做的事情的一个小玩具(虽然相当长)示例。packagemainimport("log""math/rand""time")varsource*rand.RandtypeReqTypeintconst(READ=iotaWRITE)typeDbRequeststruct{Typeint//requesttypeRespCchan*DbResponse//channelforrequestrespons

concurrency - channel 的读写排除

我想用Go编写一个小型内存数据库。读取和写入请求将通过channel传递并由数据库引擎处理,这将确保正确完成访问。第一个想法是模仿RWMutex的行为.只是它会使用更惯用的go风格。这是我想做的事情的一个小玩具(虽然相当长)示例。packagemainimport("log""math/rand""time")varsource*rand.RandtypeReqTypeintconst(READ=iotaWRITE)typeDbRequeststruct{Typeint//requesttypeRespCchan*DbResponse//channelforrequestrespons

go - Google 的 go-language 是否解决了 Paul's Graham 的帖子 'Why Arc isn' t Especially Object Oriented' 中的问题?

谷歌的Golang解决Paul的Graham的帖子“WhyArcisn'tEspeciallyObjectOriented”中提到的语言问题'? 最佳答案 我对此的初步感觉是“现在下结论还为时过早”1)Object-orientedprogrammingisexcitingifyouhaveastatically-typedlanguagewithoutlexicalclosuresormacros.Tosomedegree,itoffersawayaroundtheselimitations.(SeeGreenspun'sTent

go - Google 的 go-language 是否解决了 Paul's Graham 的帖子 'Why Arc isn' t Especially Object Oriented' 中的问题?

谷歌的Golang解决Paul的Graham的帖子“WhyArcisn'tEspeciallyObjectOriented”中提到的语言问题'? 最佳答案 我对此的初步感觉是“现在下结论还为时过早”1)Object-orientedprogrammingisexcitingifyouhaveastatically-typedlanguagewithoutlexicalclosuresormacros.Tosomedegree,itoffersawayaroundtheselimitations.(SeeGreenspun'sTent

programming-languages - 'systems language' 是什么意思?

Gotalk2009pdf有评论解释了他们为什么想出go语言:Nonewmajorsystemslanguageinadecade.系统语言是什么意思?它是一种应该通过生成native二进制文件在目标系统上运行的语言吗?它是一种可以自行构建操作系统的语言吗?我可以看出C#/Java“不是”系统语言,而C/C++是。 最佳答案 这是一个粗略的、非正式的区别,但其想法是,有“应用程序编程语言”,针对开发收缩包装业务应用程序的程序员,以及“系统编程语言”,针对为其他程序员(编译器)编写工具的程序员等)和底层软件,如操作系统内核、设备驱动程

programming-languages - 'systems language' 是什么意思?

Gotalk2009pdf有评论解释了他们为什么想出go语言:Nonewmajorsystemslanguageinadecade.系统语言是什么意思?它是一种应该通过生成native二进制文件在目标系统上运行的语言吗?它是一种可以自行构建操作系统的语言吗?我可以看出C#/Java“不是”系统语言,而C/C++是。 最佳答案 这是一个粗略的、非正式的区别,但其想法是,有“应用程序编程语言”,针对开发收缩包装业务应用程序的程序员,以及“系统编程语言”,针对为其他程序员(编译器)编写工具的程序员等)和底层软件,如操作系统内核、设备驱动程

concurrency - D 中有等价的 goroutines 吗?

我喜欢Go,尤其是goroutines。它们简单而高效。经过一些挖掘后,它们似乎基本上是多路复用到内核线程池的光纤(如果我错了请纠正我)。也就是说,D中是否有任何标准库(或相对流行和受支持的第3方添加)?我想要的主要是:轻量级-线程使用过多内存并占用过多CPU简单-数据共享不太重要,但简单的消息传递很重要托管-如果它处于运行时级别会很好这里的主要目标是使Web服务器尽可能高效地与Node.js和Go的速度相媲美。这意味着可能有许多事件连接(http、websockets、数据流)。我喜欢提到的其他平台,但D更通用。如果不是太笨重,我会选择D而不是其他。 最佳

concurrency - D 中有等价的 goroutines 吗?

我喜欢Go,尤其是goroutines。它们简单而高效。经过一些挖掘后,它们似乎基本上是多路复用到内核线程池的光纤(如果我错了请纠正我)。也就是说,D中是否有任何标准库(或相对流行和受支持的第3方添加)?我想要的主要是:轻量级-线程使用过多内存并占用过多CPU简单-数据共享不太重要,但简单的消息传递很重要托管-如果它处于运行时级别会很好这里的主要目标是使Web服务器尽可能高效地与Node.js和Go的速度相媲美。这意味着可能有许多事件连接(http、websockets、数据流)。我喜欢提到的其他平台,但D更通用。如果不是太笨重,我会选择D而不是其他。 最佳