【发布时间】:2013-02-08 19:16:01
【问题描述】:
我正在编写一个 golang 网络应用程序。 Web 应用程序访问文件系统(读取和写入)和 sqlite3 数据库文件。
问题 1:如何在 Go 中同步文件系统访问?
type DataObject struct {
data []byte
}
func (*d DataObject) Write() {
//
// Synchronization ?
//
ioutil.WriteFile("file.name", d.data, 0644)
//
// Stop synchronization ?
//
}
问题2:需要同步sqlite3数据库文件访问吗?
type SqlObject struct {
sqldata string
}
func (*s SqlObject) Store() error {
//
// Open the file, do I need some sort of synchronization?
//
con, err := sqlite.Open("database/datafile.db")
if err != nil {
return err
}
defer con.Close()
err = con.Exec("INSERT INTO data(sqldata) values(?)", s.sqldata)
if err != nil {
return err
}
return nil
}
我正在使用 gosqlite3 驱动程序 (http://code.google.com/p/gosqlite/)。
【问题讨论】:
标签: web-applications concurrency sqlite synchronization go