From 78ef2da34bf2d0432746812a0efbf2dbae0ba6d2 Mon Sep 17 00:00:00 2001 From: Brandon Rodriguez <brodriguez8774@gmail.com> Date: Wed, 13 Nov 2019 03:46:27 -0500 Subject: [PATCH] Add optional loop for "safe" python parallelism --- python/main.py | 35 +++++++++++++++++++++++++++++---- python/resources/parallelism.py | 6 +++--- 2 files changed, 34 insertions(+), 7 deletions(-) diff --git a/python/main.py b/python/main.py index 2d64c27..04f5599 100644 --- a/python/main.py +++ b/python/main.py @@ -37,21 +37,48 @@ if __name__ == '__main__': user_menu_choice = user_menu() if user_menu_choice == '1': + # Run Safe Multi-Processing. logger.info('Running "Unsafe Multi-Processing" Example.') logger.info('') Parallelism(False, multi_process=True) + elif user_menu_choice == '2': + # Run Safe Multi-Processing. + logger.info("Run safe multi-processing on loop?") + user_input = str(input('')).strip() logger.info('Running "Safe Multi-Processing" Example.') - logger.info('') - Parallelism(True, multi_process=True) + + if user_input[0] == 'Y' or user_input[0] == 'y': + logger.info('') + logger.info('') + logger.info('Program will loop until cancelled with ctrl+c.') + logger.info('') + while True: + Parallelism(True, multi_process=True) + else: + Parallelism(True, multi_process=True) + elif user_menu_choice == '3': + # Run Unsafe Multi-Threading. logger.info('Running "Unsafe Multi-Threading" Example.') logger.info('') Parallelism(False, multi_thread=True) + elif user_menu_choice == '4': + # Run Safe Multi-Threading. + logger.info("Run \"Safe Multi-Threading\" on loop?") + user_input = str(input('')).strip() logger.info('Running "Safe Multi-Threading" Example.') - logger.info('') - Parallelism(True, multi_thread=True) + + if user_input[0] == 'Y' or user_input[0] == 'y': + logger.info('') + logger.info('') + logger.info('Program will loop until cancelled with ctrl+c.') + logger.info('') + while True: + Parallelism(True, multi_thread=True) + else: + Parallelism(True, multi_thread=True) else: logger.info('Unrecognized user menu choice.') logger.info('') diff --git a/python/resources/parallelism.py b/python/resources/parallelism.py index ce93b0c..a61fb6d 100644 --- a/python/resources/parallelism.py +++ b/python/resources/parallelism.py @@ -64,9 +64,9 @@ class Parallelism(): shared_lock = manager.Value('i', 0, lock=False) # Create a shared int. shared_counter = manager.Value('i', 0, lock=False) - logger.info('Created shared Flag: {0}'.format(shared_flag)) - logger.info('Created shared Lock: {0}'.format(shared_lock)) - logger.info('Created shared Counter: {0}'.format(shared_counter)) + logger.debug('Created shared Flag: {0}'.format(shared_flag)) + logger.debug('Created shared Lock: {0}'.format(shared_lock)) + logger.debug('Created shared Counter: {0}'.format(shared_counter)) logger.info('Creating processes/threads.') logger.info('') -- GitLab