52 lines
914 B
Python
52 lines
914 B
Python
"""
|
|
Using Pararellization API to execute tasks concurrently
|
|
|
|
"""
|
|
import traceback
|
|
|
|
#Simple parallization
|
|
def task1():
|
|
m1.moveRel(1.0)
|
|
return m1.getPosition()
|
|
|
|
def task2():
|
|
m2.moveRel(1.0)
|
|
return m1.getPosition()
|
|
|
|
def task3():
|
|
return ai1.read()
|
|
|
|
ret = parallelize(task1, task2, task3)
|
|
print ret
|
|
|
|
|
|
#Fork amd join
|
|
ret = fork(task1, task2, task3)
|
|
print ai1.read()
|
|
ret = join(ret)
|
|
print ret
|
|
|
|
|
|
|
|
#Functions with parameters
|
|
def moveRelative(motor, step):
|
|
print "Moving " + motor.getName() + " step = " + str(step)
|
|
motor.moveRel(step)
|
|
return motor.getPosition()
|
|
|
|
ret = parallelize((moveRelative,(m1,-2)), (moveRelative,(m2,-2)))
|
|
print ret
|
|
|
|
|
|
#Exception in parallel task is thrown back to script
|
|
try:
|
|
parallelize((moveRelative,(ai1,1)), (moveRelative,(ai2,1)))
|
|
except:
|
|
print "Ok, caught exception:"
|
|
traceback.print_exc()
|
|
|
|
|
|
|
|
|
|
|