Slide 26
Slide 26 text
並列処理される場合の考慮
26
✓ net.Connはゴルーチンセーフ
✓ Write()やRead()している間に他のゴルーチンからClose()を呼び出すことが
可能
✓ Write()している間にClose()されて困る場合はmutexで処理を保護
func (c *client3E) Write(deviceName string, offset, numPoints int64, writeData
[]byte) ([]byte, error) {
c.mu.Lock()
defer c.mu.Unlock()
requestStr := c.stn.BuildWriteRequest(deviceName, offset, numPoints, writeData)
// …