# Neil Normando
# Threading example
import logging
import threading
import time
def threadCreation( name) :
logging .info ( "Thread %s: starting" , name)
time .sleep ( 2 )
logging .info ( "Thread %s: finishing" , name)
if __name__ == "__main__" :
format = "%(asctime)s: %(message)s"
logging .basicConfig ( format= format, level= logging .INFO ,
datefmt= "%H:%M:%S" )
logging .info ( "Main : before creating thread" )
x = threading .Thread ( target= threadCreation, args= ( 1 , ) )
logging .info ( "Main : before running thread" )
x.start ( )
logging .info ( "Main : wait for the thread to finish" )
# x.join()
logging .info ( "Main : all done" )
IyBOZWlsIE5vcm1hbmRvCiMgVGhyZWFkaW5nIGV4YW1wbGUKCmltcG9ydCBsb2dnaW5nCmltcG9ydCB0aHJlYWRpbmcKaW1wb3J0IHRpbWUKCmRlZiB0aHJlYWRDcmVhdGlvbihuYW1lKToKICAgIGxvZ2dpbmcuaW5mbygiVGhyZWFkICVzOiBzdGFydGluZyIsIG5hbWUpCiAgICB0aW1lLnNsZWVwKDIpCiAgICBsb2dnaW5nLmluZm8oIlRocmVhZCAlczogZmluaXNoaW5nIiwgbmFtZSkKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICBmb3JtYXQgPSAiJShhc2N0aW1lKXM6ICUobWVzc2FnZSlzIgogICAgbG9nZ2luZy5iYXNpY0NvbmZpZyhmb3JtYXQ9Zm9ybWF0LCBsZXZlbD1sb2dnaW5nLklORk8sCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVmbXQ9IiVIOiVNOiVTIikKCiAgICBsb2dnaW5nLmluZm8oIk1haW4gICAgOiBiZWZvcmUgY3JlYXRpbmcgdGhyZWFkIikKICAgIHggPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD10aHJlYWRDcmVhdGlvbiwgYXJncz0oMSwpKQogICAgbG9nZ2luZy5pbmZvKCJNYWluICAgIDogYmVmb3JlIHJ1bm5pbmcgdGhyZWFkIikKICAgIHguc3RhcnQoKQogICAgbG9nZ2luZy5pbmZvKCJNYWluICAgIDogd2FpdCBmb3IgdGhlIHRocmVhZCB0byBmaW5pc2giKQogICAgIyB4LmpvaW4oKQogICAgbG9nZ2luZy5pbmZvKCJNYWluICAgIDogYWxsIGRvbmUiKQ==