we'll use often for callbacks in the gui part of this book moreoverthis differs from the threading module that is the model for this package--calls like the following which work for threads must be translated to callable and argumentsthreading thread(target=(lambdaaction( ))start(but lambdas work here converselysome behavior of the threading module is mimicked by multiprocessingwhether you wish it did or not because programs using this package wait for child processes to end by defaultwe must mark processes as daemon if we don' want to block the shell where the following sort of code is run (technicallyparents attempt to terminate daemonic children on exitwhich means that the program can exit when only daemonic children remainmuch like threading)def action(arg arg )print(arg arg time sleep( normally prevents the parent from exiting if __name__ ='__main__' process(target=actionargs=('spam''eggs') daemon true start(don' wait for it there' more on some of these issues in the python library manualthey are not showstoppers by any stretchbut special cases and potential pitfalls to some we'll revisit the lambda and daemon issues in more realistic context in where we'll use multiprocessing to launch gui demos independently why multiprocessingthe conclusion as this section' examples suggestmultiprocessing provides powerful alternative which aims to combine the portability and much of the utility of threads with the fully parallel potential of processes and offers additional solutions to ipcexit statusand other parallel processing goals hopefullythis section has also given you better understanding of this module' tradeoffs discussed at its beginning in particularits separate process model precludes the freely shared mutable state of threadsand bound methods and lambdas are prohibited by both the pickleability requirements of its ipc pipes and queuesas well as its process action implementation on windows moreoverits requirement of pickleability for process arguments on windows also precludes it as an option for conversing with clients in socket servers portably while not replacement for threading in all applicationsthoughmultiprocessing offers compelling solutions for many especially for parallel-programming tasks which can be designed to avoid its limitationsthis module can offer both performance and portability that python' more direct multitasking tools cannot the multiprocessing module