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


Groups > comp.lang.python > #64540

Re: SIngleton from __defaults__

Newsgroups comp.lang.python
Date 2014-01-22 14:34 -0800
References <26ff768d-349c-48cd-a46f-25343807e18a@googlegroups.com> <mailman.5843.1390407541.18130.python-list@python.org>
Message-ID <59440b67-9c35-441d-87a8-a2cadc1af02f@googlegroups.com> (permalink)
Subject Re: SIngleton from __defaults__
From Asaf Las <roegltd@gmail.com>

Show all headers | View raw


On Wednesday, January 22, 2014 6:18:57 PM UTC+2, Chris Angelico wrote:
> On Thu, Jan 23, 2014 at 3:07 AM, Asaf Las <r...@gmail.com> wrote:
> ChrisA

and this one is about multiclass container function with 
multithreading support:

import threading

def provider(cls, x = [threading.Lock(), {}]):
    provider.__defaults__[0][0].acquire()
    if not cls.__name__ in provider.__defaults__[0][1]:
        provider.__defaults__[0][1][cls.__name__] = cls()
    provider.__defaults__[0][0].release()
    return provider.__defaults__[0][1][cls.__name__]


class whatever():
    def __init__(self):
        self.one = 1
        self.zero = 0

class whatever1():
    def __init__(self):
        self.one = 1
        self.zero = 0

    
print(id(provider(whatever)))
print(id(provider(whatever)))
print(id(provider(whatever1)))
print(id(provider(whatever1)))

could be there some hidden faults i missed? 

/Asaf

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


Thread

SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 08:07 -0800
  Re: SIngleton from __defaults__ Chris Angelico <rosuav@gmail.com> - 2014-01-23 03:18 +1100
    Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 08:37 -0800
      Re: SIngleton from __defaults__ 88888 Dihedral <dihedral88888@gmail.com> - 2014-01-22 09:23 -0800
      Re: SIngleton from __defaults__ Ned Batchelder <ned@nedbatchelder.com> - 2014-01-22 14:18 -0500
        Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 11:52 -0800
      Re: SIngleton from __defaults__ Johannes Schneider <johannes.schneider@galileo-press.de> - 2014-01-23 14:36 +0100
      Re: SIngleton from __defaults__ Dave Angel <davea@davea.name> - 2014-01-23 11:56 -0500
      Re: SIngleton from __defaults__ Terry Reedy <tjreedy@udel.edu> - 2014-01-23 19:10 -0500
      Re: SIngleton from __defaults__ Johannes Schneider <johannes.schneider@galileo-press.de> - 2014-01-24 09:20 +0100
    Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 13:10 -0800
    Re: SIngleton from __defaults__ Asaf Las <roegltd@gmail.com> - 2014-01-22 14:34 -0800

csiph-web