diff --git a/03.网络编程与并发/02.操作系统发展史.md b/03.网络编程与并发/02.操作系统发展史.md index 7b1bd0f..8b14846 100644 --- a/03.网络编程与并发/02.操作系统发展史.md +++ b/03.网络编程与并发/02.操作系统发展史.md @@ -6,7 +6,9 @@ ![image-20210725220908985](02.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/image-20210725220908985.png) -![image-20210725220917981](02.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/image-20210725220917981.png) +![image-20210725220917981](02.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/image-20210725220917981.png) + + 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 @@ -85,9 +87,13 @@ 由于CPU速度不断提高和采用分时技术,一台计算机可同时连接多个用户终端,而每个用户可在自己的终端上联机使用计算机,好象自己独占机器一样。 -![image-20210725221001607](02.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/image-20210725221001607.png) +![image-20210725221001607](02.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/image-20210725221001607.png) -![image-20210725221010282](02.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/image-20210725221010282.png) + + +![image-20210725221010282](02.%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8F%91%E5%B1%95%E5%8F%B2/image-20210725221010282.png) + + 分时技术:把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。 若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。由于计算机速度很快,作业运行轮转得很快,给每个用户的印象是,好象他独占了一台计算机。而每个用户可以通过自己的终端向系统发出各种操作控制命令,在充分的人机交互情况下,完成作业的运行。 diff --git a/03.网络编程与并发/03.多进程.md b/03.网络编程与并发/03.多进程.md index 2b130fd..89b2702 100644 --- a/03.网络编程与并发/03.多进程.md +++ b/03.网络编程与并发/03.多进程.md @@ -71,7 +71,7 @@ ### 状态介绍 -![image-20210725221132043](03.%E5%A4%9A%E8%BF%9B%E7%A8%8B/image-20210725221132043.png) +![image-20250918143803006](03.多进程/image-20250918143803006.png) 在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。 @@ -172,8 +172,9 @@ process模块是一个创建进程的模块,借助这个模块,就可以完 方法介绍 -| p.start() | 启动进程,并调用该子进程中的p.run() | +| 方法 | 描述 | | ----------------- | ------------------------------------------------------------ | +| p.start() | 启动进程,并调用该子进程中的p.run() | | p.run() | 进程启动时运行的方法,正是它去调用target指定的函数,我们自定义类的类中一定要实现该方法 | | p.terminate() | 强制终止进程p,不会进行任何清理操作,如果p创建了子进程,该子进程就成了僵尸进程,使用该方法需要特别小心这种情况。如果p还保存了一个锁那么也将不会被释放,进而导致死锁 | | p.is_alive() | 如果p仍然运行,返回True | @@ -181,8 +182,9 @@ process模块是一个创建进程的模块,借助这个模块,就可以完 属性介绍 -| p.daemon | 默认值为False,如果设为True,代表p为后台运行的守护进程,当p的父进程终止时,p也随之终止,并且设定为True后,p不能创建自己的新进程,必须在p.start()之前设置 | +| 方法 | 描述 | | ---------- | ------------------------------------------------------------ | +| p.daemon | 默认值为False,如果设为True,代表p为后台运行的守护进程,当p的父进程终止时,p也随之终止,并且设定为True后,p不能创建自己的新进程,必须在p.start()之前设置 | | p.name | 进程的名称 | | p.pid | 进程的pid | | p.exitcode | 进程在运行时为None、如果为–N,表示被信号N结束(了解即可) | @@ -318,9 +320,9 @@ class MyProcess(Process): print('%s 正在和女主播聊天' %self.name) if __name__ == '__main__': - p1 = MyProcess('陈松') - p2 = MyProcess('松哥') - p3 = MyProcess('松松') + p1 = MyProcess('张三') + p2 = MyProcess('李四') + p3 = MyProcess('王五') p1.start() p2.start() @@ -375,7 +377,7 @@ class Myprocess(Process): print('%s正在和女主播聊天' %self.person) if __name__ == '__main__': - p=Myprocess('陈松') + p=Myprocess('张三') p.daemon=True #一定要在p.start()前设置,设置p为守护进程,禁止p创建子进程,并且父进程代码执行结束,p即终止运行 p.start() time.sleep(10) # 在sleep时查看进程id对应的进程 @@ -467,12 +469,12 @@ class Myprocess(Process): super().__init__() def run(self): - print('%s正在和陈松聊天' %self.name) + print('%s正在和张三聊天' %self.name) time.sleep(random.randrange(1,5)) - print('%s还在和陈松聊天' %self.name) + print('%s还在和张三聊天' %self.name) if __name__ == '__main__': - p1=Myprocess('陈松') + p1=Myprocess('李四') p1.start() p1.terminate() # 关闭进程,不会立即关闭,所以is_alive立刻查看的结果可能还是存活 @@ -501,7 +503,7 @@ class Myprocess(Process): # print('%s正在和网红脸聊天' %self.person) if __name__ == '__main__': - p1=Myprocess('陈松') + p1=Myprocess('张三') p1.start() print(p1.pid) #可以查看子进程的进程id ``` diff --git a/03.网络编程与并发/03.多进程/image-20250918143648878.png b/03.网络编程与并发/03.多进程/image-20250918143648878.png new file mode 100644 index 0000000..5291b2d Binary files /dev/null and b/03.网络编程与并发/03.多进程/image-20250918143648878.png differ diff --git a/03.网络编程与并发/03.多进程/image-20250918143803006.png b/03.网络编程与并发/03.多进程/image-20250918143803006.png new file mode 100644 index 0000000..186a169 Binary files /dev/null and b/03.网络编程与并发/03.多进程/image-20250918143803006.png differ