@WarrenBelz and myself had someone ask this question yesterday and he came up with a better idea than mine (no surprise :P) and so I will share with you.
The idea is to grab the entire rows properties from sharepoint when you go to edit that row. These properties will include the auto-generated column that tracks the datetime for the last time the row was edited. This is the important piece of data you need. If you grab the row and it was last edited 4 hours ago and you make your changes using a form for example then you would check to verify that the rows last edited time has not changed while you were editing the form.
LookUp item in list and it says it was last edited at 3:15pm
You make your changes to the row using the form
Before submitting check that the last edited time is still 3:15pm. If this is not the case then someone else edited the item while you were and you know not to allow it to save.
The only other idea is to add a column that tracks if the row is 'checked out' or being accessed kind of like a semaphore in programming. The issue with this as Warren mentioned is that if someone hard exits the app then they can leave items checked out and inaccessable by anyone but themselves.