Golang simultaneous read/write to the file without explicit file lock
<p>I have a situation where I need to concurrently read/write from/to the file, but the scope of operations is <em>limited</em>:</p>

<ul>
<li>append only, no random offset writes</li>
<li>read from random position, where I know for sure the content has been written before(via append, internal access serialization via golang channel to ensure random read happens only after content's been appended)</li>
<li>there is only one process running</li>
</ul>

<p>This is a high loaded application and I would like to avoid locking file for each read/write I do</p>

<p>I was going to open 2 files - one for read, another for append only</p>

<p>would doing so create some potential issues/bugs?</p>

<p>what is the recommended practice if I would like to avoid file locking for each read/write I do?</p>

<p>p.s. golang, linux, ext4</p>