|
Golang基于多线程、协程实现,与生俱来适合异步编程,当我们遇到那种需要批量处理且耗时的操作时,传统的线性执行就显得吃力,这时就会想到异步并行处理。下面介绍一些异步编程方式和技巧。作者:zvalhu一、使用方式1.1、最简单的最常用的方式:使用go关键词func main() { go func() { fmt.Println("hello world1") }() go func() { fmt.Println("hello world2") }()}或者:func main() { go Announce("hello world1") go Announce("hello world2")}func Announce(message string) { fmt.Println(message)}使用匿名函数传递参数data := "Hello, World!"go func(msg string) { // 使用msg进行异步任务逻辑处理 fmt.Println(msg)}(data)这种方式不需要考虑返回值问题,如果要考虑返回值,可以使用下面的方式。1.2、通过goroutine和channel来实现ch := make(chan int, 1) // 创建一个带缓冲的channel// ch := make(chan int, 0) // 创建一个无缓冲的channelgo func() { // 异步任务逻辑 ch
|
|