Antoine Pitrou <solip...@pitrou.net> wrote: > Jens Thoms Toerring <jt <at> toerring.de> writes: > > > > Paul Rubin <no.email <at> nospam.invalid> wrote: > > > jt <at> toerring.de (Jens Thoms Toerring) writes: > > > > in garbled output (i.e. having some output from A inside a > > > > line written by B or vice versae) because the "main thread" or > > > > > Yes they do get garbled like that. Preferred Python style is put a > > > single thread in charge of all the i/o to that file, and communicate > > > with it by message passing through Queue objects. That is safer than > > > directly using locks. > > > > Thank you for confirmig my suspicion But you have induced > > another question: why is using a Queue safer than locking (not > > that I doubt that it might be more elegant etc.). Is it "safer" > > because it's less likely that one gets it wrong (e.g. by for- > > grtting to acquire the lock) or is there something inherently > > unsafe about locks?
> For the record, binary files are thread-safe in Python 3, but text files > are not. > Locks are safe if you use them well. As you point out, if you forget > to acquire your lock, or if you devise a situation where there is a > deadlock between competing locks, you can have difficult to diagnose > issues. Queues have their internal locking all done for you. Thank you for your kind answers! Best regards, Jens -- \ Jens Thoms Toerring ___ j...@toerring.de \__________________________ http://toerring.de -- http://mail.python.org/mailman/listinfo/python-list