thinking it over, I am not sure it is correct to try to get create() do multi-threading.
If there is no removed record, new record should start at the end of file. Further suppose there are 10 records in the file.
If there are multiple threads appending records at the end of file, they will get new record number, say 11 and 12. However, without the first
thread finishing writing 11, the second thread cannot write 12 simply because the nature of file I/O.
Am I making sense?
Yan