object orientation and concurrency traditionally message send is treated like procedural callin which the calling object' execution is blocked until response is returned howeverwe can extend this model quite simply to view each object as concurrently executable programwith activity starting when the object is created and continuing even when message is sent to another object (unless the response is required for further processingin this modelthere may be very many (concurrentobjects executing at the same time of coursethis introduces issues associated with resource allocationetc but no more so than in any concurrent system one implication of the concurrent object model is that objects are larger than in the traditional single execution thread approachbecause of the overhead of having each object as separate thread of execution overheads such as the need for scheduler to handling these execution threads and resource allocation mechanisms means that it is not feasible to have integerscharactersetc as separate processes threads processes as part of this discussion it is useful to understand what is meant by process process is an instance of computer program that is being executed by the operating system any process has three key elementsthe program being executedthe data used by that program (such as the variables used by the programand the state of the process (also known as the execution context of the programa (pythonthread is preemptive lightweight process thread is considered to be pre-emptive because every thread has chance to run as the main thread at some point when thread gets to execute then it will execute until completionuntil it is waiting for some form of / (input/output)sleeps for period of timeit has run for ms (the current threshold in python if the thread has not completed when one of the above situations occursthen it will give up being the executing thread and another thread will be run instead this means that one thread can be interrupted in the middle of performing series of related steps thread is considered lightweight process because it does not possess its own address space and it is not treated as separate entity by the host operating system insteadit exists within single machine process using the same address space it is useful to get clear idea of the difference between thread (running within single machine processand multi-process system that uses separate processes on the underlying hardware