Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import multiprocessing, time
- class Proc(multiprocessing.Process):
- def __init__(self):
- self.x = 0
- self._y = multiprocessing.Value('i', 0)
- super(Proc, self).__init__()
- self.flag = False
- self._running = multiprocessing.Value('b', True)
- @property
- def y(self):
- return self._y.value
- @y.getter
- def y(self):
- return self._y.value
- @y.setter
- def y(self, y0):
- print 'x is adjusted'
- self.x += 1
- self._y.value = y0
- def run(self):
- while True:
- while self.running:
- print 'Proc', self.x, self.y
- self.x *= self.x
- time.sleep(4)
- print 'Stopped'
- def stop(self):
- self.running = False
- def resume(self):
- self.running = True
- def getAll(self):
- return self.x
- @property
- def running(self):
- return self._running.value == True
- @running.setter
- def running(self, b):
- self._running.value = b
- @running.getter
- def running(self):
- return self._running.value == True
- class Foo:
- def __init__(self):
- self.p = Proc()
- self.p.x = 100
- def __call__(self):
- self.p.start()
- for i in range(10):
- if i == 5:
- self.p.stop()
- time.sleep(5)
- self.p.resume()
- time.sleep(0.5)
- f = Foo()
- f()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement