diff --git a/examples/providers/singleton_thread_locals.py b/examples/providers/singleton_thread_locals.py index 5822a3ab..f85cd812 100644 --- a/examples/providers/singleton_thread_locals.py +++ b/examples/providers/singleton_thread_locals.py @@ -1,26 +1,26 @@ """`ThreadLocalSingleton` providers example.""" import threading -import Queue +import queue import dependency_injector.providers as providers -def example(example_object, queue): +def example(example_object, queue_object): """Put provided object in the provided queue.""" - queue.put(example_object) + queue_object.put(example_object) # Create thread-local singleton provider for some object (main thread): thread_local_object = providers.ThreadLocalSingleton(object) # Create singleton provider for thread-safe queue: -queue = providers.Singleton(Queue.Queue) +queue_factory = providers.ThreadSafeSingleton(queue.Queue) # Create callable provider for example(), inject dependencies: example = providers.DelegatedCallable(example, example_object=thread_local_object, - queue=queue) + queue_object=queue_factory) # Create factory provider for threads that are targeted to execute example(): thread_factory = providers.Factory(threading.Thread, @@ -43,8 +43,8 @@ if __name__ == '__main__': # Making some asserts (main thread): all_objects = set() - while not queue().empty(): - all_objects.add(queue().get()) + while not queue_factory().empty(): + all_objects.add(queue_factory().get()) assert len(all_objects) == len(threads) # Queue contains same number of objects as number of threads where