【发布时间】:2014-04-15 19:21:47
【问题描述】:
我现在正在学习 Go,这是我正在编写的网络应用程序的代码:
func init() {
db, err := sql.Open("mysql", "master:123456@/shopping_list")
if err != nil {
panic(err.Error())
}
http.HandleFunc("/sql", func(w http.ResponseWriter, r *http.Request) {
sqlHandler(w, r, db)
})
}
sqlHandler() 从 shopping_list 的表中读取一条记录,对其进行编辑,然后更新该记录。
现在据我了解,每个请求都在单独的 goroutine 上运行,并且 mysql 在读取或写入记录时会锁定记录。那么,在这种情况下,这段代码是否需要任何同步?
【问题讨论】:
标签: concurrency go goroutine