Methods 如何获得并发方法

Methods 如何获得并发方法,methods,go,goroutine,Methods,Go,Goroutine,如何获得并发方法 type test struct { foo uint8 bar uint8 } func NewTest(arg1 string) (*test, os.Error) {...} func (self *test) Get(str string) ([]byte, os.Error) {...} 我认为方法Get()的所有代码都应该放在go func()的内部,然后使用通道 func (self *test) Get(str string) ([]byt

如何获得并发方法

type test struct {
    foo uint8
    bar uint8
}

func NewTest(arg1 string) (*test, os.Error) {...}

func (self *test) Get(str string) ([]byte, os.Error) {...}
我认为方法
Get()
的所有代码都应该放在
go func()
的内部,然后使用通道

func (self *test) Get(str string) ([]byte, os.Error) {
    go func() {
        // Code for this method.
    }()
}
  • 如果从
    Get()
    调用另一个方法,是否会出现问题?或者它也必须是并发的

在go中获得并发性的方法是在要并发执行的函数前面使用关键字“go”:

函数条(){…}

func foo(){ 去酒吧 去酒吧 去酒吧 …等待所有栏关闭的代码。。。 }

这就是同时跑3个小节所需要的全部。PS:你可能想提供一个你熟悉的语言的例子,C++ + per/python /任何东西,因为你所包含的GO代码片段没有多大帮助。我知道你的英语可能比我的母语说得好,但你也可能想得到一些帮助来更清楚地表达你的问题

Hotei

看一下Go语言规范中的部分,这是一个完整的Go包,使用Go语句和通道实现了并发的prime-sieve

有关其工作原理的详细说明,请参见上的“Go教程”部分。另外,请参阅上的“围棋教程”部分

请阅读上的“有效执行”部分

最后,阅读Go语言规范的相关章节,例如:和


是的,您可以从Get()方法调用另一个方法。由于方法调用不是并发go语句,它将在执行下一个语句之前立即执行。

说实话,您的问题有点难以解析。