当前位置:网站首页>Understanding of processes, threads, coroutines, synchronization, asynchrony, blocking, non blocking, concurrency, parallelism, and serialization
Understanding of processes, threads, coroutines, synchronization, asynchrony, blocking, non blocking, concurrency, parallelism, and serialization
2022-07-06 04:09:00 【YZL40514131】
One 、 process
1、 Open a browser , Is to start a browser process .
2、 A running program ( Code ) It's a process , No running code is called a program .
3、 Process is the smallest unit of system resource allocation , Processes have their own independent memory space , All inter process data is not shared , Spending big .
4、 A process is the basic unit of executing a task , It is also the basic unit for the operating system to perform tasks . The process contains a collection of program instructions and related resources .
5、 Create a process : Import first multiprocessing Medium Process
6、 Do not share global variables between processes
p = Process(target=XXX,args=(tuple,),kwargs={key:value})
target = XXX Specified task function , Don't have to add (),
args=(tuple,)
kwargs={key:value} Parameters passed to the task function
import os
from multiprocessing import Process
import time
def pro_func(name):
for i in range(5):
print(f' Subprocesses {
name+str(i)} Start execution ')
time.sleep(2)
print(f' Subprocesses {
name+str(i)} End to perform ')
if __name__ == '__main__':
p=Process(target=pro_func,args=('kobe',))
p.start()
print(' The execution of the main process is over ')
Two 、 Threads
1、 In a process , At least one thread , This thread is the main thread of the current process ,
2、 Thread is the basic unit of executing tasks in a process
3、 Thread cannot exist independently , Dependent processes exist
4、 Multiple threads share memory ( Data sharing , Share global variables ), Thus greatly improving the efficiency of the program .
5、 Multithreading may cause data chaos or even deadlock
6、 Create thread : Import first threading Medium Thread
import threading
import time
def thread():
for i in range(5):
print(f' Sub thread {
i} Start execution ')
time.sleep(2)
print(f' Sub thread {
i} End to perform ')
if __name__ == '__main__':
t=threading.Thread(target=thread)
t.start()
print(' Main thread execution completed ')
3、 ... and 、 coroutines
1、 Coroutine is a lightweight thread in user mode , The scheduling of the process is completely controlled by the user ; The benefit of this is that the performance has been greatly improved , It doesn't consume resources like thread switching .
2、 Synergetics generally use gevent library
3、 A thread can also have multiple coroutines

Four 、 Sync
Multiple tasks are executed in sequence , Only after one execution can the next be executed .
5、 ... and 、 asynchronous
Relative to synchronization , Synchronization is performed sequentially , Asynchrony is independent of each other , Continue to do your own thing while waiting for an event , Don't wait for this event to complete before you work . Threads are a way to achieve asynchrony , Asynchrony means that the main thread calling a method does not need to wait for another thread to complete synchronously , So that the main thread can do other things .
6、 ... and 、 Blocking
If the caller gets stuck , The caller cannot continue to execute , That is, the caller is blocking .
For example, the blocking function when multithreading executes tasks t.join(), The main route is blocked first , Wait for the sub thread to finish executing , End of main thread execution .
import threading
import time
def thread():
for i in range(5):
print(f' Sub thread {
i} Start execution ')
time.sleep(2)
print(f' Sub thread {
i} End to perform ')
if __name__ == '__main__':
t=threading.Thread(target=thread)
t.start()
t.join()
print(' Main thread execution completed ')
7、 ... and 、 Non blocking
If it doesn't get stuck , Can continue to execute , That means non blocking .
8、 ... and 、 Concurrent
1、 Only one instruction can be executed at the same time , But multiple process instructions are executed in rapid rotation , It has the effect of multiple processes executing at the same time , But at the micro level, it is not carried out at the same time , Just divide the time into periods , Make multiple processes execute alternately quickly .
2、 The key to concurrency is your ability to handle multiple tasks , Not necessarily at the same time .
Nine 、 parallel
1、 At the same time , There are multiple instructions executing on multiple processors at the same time . So whether from the micro or from the macro point of view , Both are carried out together .
2、 The key to parallelism is your ability to handle multiple tasks at the same time .
Ten 、 Serial
Simply put, you can only do one thing at a time , And it has to be executed in sequence , The later code segment can only be executed after the task of the previous code segment is executed .


边栏推荐
- 综合能力测评系统
- AcWing 243. A simple integer problem 2 (tree array interval modification interval query)
- Pandora IOT development board learning (HAL Library) - Experiment 9 PWM output experiment (learning notes)
- Unity中几个重要类
- Stable Huawei micro certification, stable Huawei cloud database service practice
- Stc8h development (XII): I2C drive AT24C08, at24c32 series EEPROM storage
- Global and Chinese market of aircraft anti icing and rain protection systems 2022-2028: Research Report on technology, participants, trends, market size and share
- Detailed explanation of serialization and deserialization
- Comprehensive ability evaluation system
- C language -- structs, unions, enumerations, and custom types
猜你喜欢

10 exemples les plus courants de gestion du trafic istio, que savez - vous?

Basic use of MySQL (it is recommended to read and recite the content)

Facebook and other large companies have leaked more than one billion user data, and it is time to pay attention to did

自动化测试的好处

Simple blog system

Class A, B, C networks and subnet masks in IPv4
![[001] [stm32] how to download STM32 original factory data](/img/5a/02d87fe1409a9427180ecefb8326c6.jpg)
[001] [stm32] how to download STM32 original factory data

Comprehensive ability evaluation system
![[PSO] Based on PSO particle swarm optimization, matlab simulation of the calculation of the lowest transportation cost of goods at material points, including transportation costs, agent conversion cos](/img/41/27ce3741ef29e87c0f3b954fdef87a.png)
[PSO] Based on PSO particle swarm optimization, matlab simulation of the calculation of the lowest transportation cost of goods at material points, including transportation costs, agent conversion cos
![[disassembly] a visual air fryer. By the way, analyze the internal circuit](/img/73/29553d60f47deadfff420be40b7f77.jpg)
[disassembly] a visual air fryer. By the way, analyze the internal circuit
随机推荐
2/12 didn't learn anything
登录mysql输入密码时报错,ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO/YES
Global and Chinese market of plasma separator 2022-2028: Research Report on technology, participants, trends, market size and share
pd. to_ numeric
Stable Huawei micro certification, stable Huawei cloud database service practice
ESP32_ FreeRTOS_ Arduino_ 1_ Create task
AcWing 243. A simple integer problem 2 (tree array interval modification interval query)
Scalpel like analysis of JVM -- this article takes you to peek into the secrets of JVM
记一次excel XXE漏洞
Proof of Stirling formula
Codeforces Round #770 (Div. 2) B. Fortune Telling
Global and Chinese markets for MRI safe implants 2022-2028: technology, participants, trends, market size and share Research Report
Global and Chinese markets for patent hole oval devices 2022-2028: Research Report on technology, participants, trends, market size and share
math_ Derivative function derivation of limit & differential & derivative & derivative / logarithmic function (derivative definition limit method) / derivative formula derivation of exponential functi
KS003基于JSP和Servlet实现的商城系统
Lora gateway Ethernet transmission
Stc8h development (XII): I2C drive AT24C08, at24c32 series EEPROM storage
Chinese brand hybrid technology: there is no best technical route, only better products
80% of the diseases are caused by bad living habits. There are eight common bad habits, which are both physical and mental
SSTI template injection explanation and real problem practice