Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #40068

Re: Writing to same file from two threads

From jt@toerring.de (Jens Thoms Toerring)
Newsgroups comp.lang.python
Subject Re: Writing to same file from two threads
Date 2013-02-27 16:05 +0000
Organization Freie Universitaet Berlin
Message-ID <ap6p5lF8tceU1@mid.uni-berlin.de> (permalink)
References <ap420lFiectU1@mid.uni-berlin.de> <7xliabvv4g.fsf@ruckus.brouhaha.com> <ap4j15Fmb9lU1@mid.uni-berlin.de> <mailman.2618.1361971792.2939.python-list@python.org>

Show all headers | View raw


Antoine Pitrou <solipsis@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  ___      jt@toerring.de
   \__________________________      http://toerring.de

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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