For starters I would always advise against making changes in a text file from an event handler, since that forces the event handler to be single threaded, which causes issues on outscaling. The question also remains, why would you connect from a database driven system to something as rudimentary as a text file.
If you really must update a text file, then I suggest you write some code/application that can safely handle accessing that file, and implement the event handler on Component save asynchronously (so it has no influence on the actual save time) and then handle the queueing of the text file write actions yourself.
Don't expect Tridion to have a queue for your write actions available, and don't try to implement a queue in the event handler itself. Ideally you create a web service for the changes to your text file, and call that from the event handler, that way, if you need to outscale the SDL Tridion CM, you won't have any issues with finding and updating that certain text file. And in your web service you can implement a queue to safely handle concurrent writes.