Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #40061
| From | Antoine Pitrou <solipsis@pitrou.net> |
|---|---|
| Subject | Re: Writing to same file from two threads |
| Date | 2013-02-27 13:26 +0000 |
| References | <ap420lFiectU1@mid.uni-berlin.de> <7xliabvv4g.fsf@ruckus.brouhaha.com> <ap4j15Fmb9lU1@mid.uni-berlin.de> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.2618.1361971792.2939.python-list@python.org> (permalink) |
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. Regards Antoine.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Writing to same file from two threads jt@toerring.de (Jens Thoms Toerring) - 2013-02-26 15:17 +0000
Re: Writing to same file from two threads Paul Rubin <no.email@nospam.invalid> - 2013-02-26 09:32 -0800
Re: Writing to same file from two threads jt@toerring.de (Jens Thoms Toerring) - 2013-02-26 20:08 +0000
Re: Writing to same file from two threads Antoine Pitrou <solipsis@pitrou.net> - 2013-02-27 13:26 +0000
Re: Writing to same file from two threads jt@toerring.de (Jens Thoms Toerring) - 2013-02-27 16:05 +0000
Re: Writing to same file from two threads Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-02-28 01:05 +0000
Re: Writing to same file from two threads Antoine Pitrou <solipsis@pitrou.net> - 2013-03-01 14:54 +0000
csiph-web