Skip to content

Instantly share code, notes, and snippets.

@mccricardo
Last active December 26, 2015 06:19
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save mccricardo/7107207 to your computer and use it in GitHub Desktop.
from threading import Thread, Lock
class Adding:
def __init__(self):
self.added = False
self.value = 0
def has_added(self):
return self.added
def add(self):
print "Adding...\n"
self.value +=1
self.added = True
def get_value(self):
return self.value
def do_add(adding):
a_lock.acquire(1)
if not adding.has_added():
adding.add()
a_lock.release()
a_lock = Lock()
adding = Adding()
for i in xrange(5):
Thread(target=do_add,args=(adding,)).start()
print "Value: %s" % adding.get_value()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment