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