You could create a read only business rule where you can't nodify a record which you're not the owner/assignee for.
By design, the architecture of the product is stateless, so a locking mechanism where records are locked after being fetched by the client, and released when the client closes the record, is not possible. There is no feedback mechanism from the web browser (the client) to the server when a record is closed on screen.
Therefore the end user must take a conscious action to lock the record, either (as Ashton suggests) by taking ownership of the record, or by some other action. One possible concept is documented here: How to Configure Record Locking Mechanism for HEAT 2014.x?
When the question was asked before (How to highlight tasks or an Incident, to avoid double activities?), adjusting ownership processes was also suggested.
Hope this helps!