Many thanks again @martin. Some great tips there. The book really is an excellent resource to have around so it is good to know you plan to expand it further.
To give you another example of where it saved me a ton of time. I am launching a separate process from the new Qt5 GUI, and I needed to monitor the process by checking a date in a ‘handshake file’ and then providing feedback to the GUI. A perfect use case for threading.
Although I have used threading before in Java (and even interrupts in 6502 assembler many moons ago ), when I first looked at Python threading a while back it was quite daunting from what I read then. However I read through your section on Threading/Workers/Manager/etc. and it was extremely straight forward and a piece of cake to implement - a few hours from reading to implementation. It was really the best description/tutorial of threading I have come across, and you managed to cover the various approaches that are possible and pitfalls of each.