diff --git a/A 动机与模式/14 多计算单元/数据分包/1 mapreduce.py b/A 动机与模式/12 语言特性/1 mapreduce.py similarity index 100% rename from A 动机与模式/14 多计算单元/数据分包/1 mapreduce.py rename to A 动机与模式/12 语言特性/1 mapreduce.py diff --git a/A 动机与模式/13 工程化考虑/2 松耦合/2 消息链/1 只有消息接口.py b/A 动机与模式/13 工程化考虑/2 松耦合/2 消息链/1 消息接口.py similarity index 100% rename from A 动机与模式/13 工程化考虑/2 松耦合/2 消息链/1 只有消息接口.py rename to A 动机与模式/13 工程化考虑/2 松耦合/2 消息链/1 消息接口.py diff --git a/A 动机与模式/14 多计算单元/数据分包/2 多线程.py b/A 动机与模式/14 多计算单元/并发/2 多线程.py similarity index 100% rename from A 动机与模式/14 多计算单元/数据分包/2 多线程.py rename to A 动机与模式/14 多计算单元/并发/2 多线程.py diff --git a/A 动机与模式/14 多计算单元/数据分包/3 多进程.py b/A 动机与模式/14 多计算单元/并发/3 多进程.py similarity index 100% rename from A 动机与模式/14 多计算单元/数据分包/3 多进程.py rename to A 动机与模式/14 多计算单元/并发/3 多进程.py diff --git a/A 动机与模式/14 多计算单元/数据分包/4 抽象并发.py b/A 动机与模式/14 多计算单元/并发/4 抽象并发.py similarity index 100% rename from A 动机与模式/14 多计算单元/数据分包/4 抽象并发.py rename to A 动机与模式/14 多计算单元/并发/4 抽象并发.py diff --git a/A 动机与模式/14 多计算单元/数据共享/1 内存/1 队列.py b/A 动机与模式/14 多计算单元/数据共享/2 本地服务/1 队列.py similarity index 78% rename from A 动机与模式/14 多计算单元/数据共享/1 内存/1 队列.py rename to A 动机与模式/14 多计算单元/数据共享/2 本地服务/1 队列.py index 8f6e787..92eb9c5 100644 --- a/A 动机与模式/14 多计算单元/数据共享/1 内存/1 队列.py +++ b/A 动机与模式/14 多计算单元/数据共享/2 本地服务/1 队列.py @@ -5,6 +5,7 @@ from collections import Counter stop_words = get_stopwords() # 待处理数据放一个队列,多个线程轮流计数,最后合并统一计数 + class WordFrequencyCounter: def __init__(self, input_file): self.word_space = queue.Queue() @@ -48,9 +49,4 @@ if __name__ == '__main__': ''' 在多线程之间传递数据,建议使用线程安全的队列,如queue.Queue或multiprocessing.Queue(后者也适用于多进程环境)。 这些队列提供了线程安全的数据传输机制,可以避免竞态条件和数据损坏。 -全局变量不可预测 - -multiprocessing.Queue 利用了操作系统提供的进程间通信(IPC, Inter-Process Communication)机制,具体实现取决于不同操作系统的支持。 -在Unix/Linux系统中,multiprocessing.Queue通常基于管道(pipes)、共享内存和/或消息队列等机制实现。 -而在Windows系统上,可能使用命名管道(named pipes)或者内存映射文件(memory-mapped files),以及某些版本的Windows特有的进程间同步对象如Mutexes、Semaphores和事件。 ''' \ No newline at end of file diff --git a/A 动机与模式/13 工程化考虑/2 松耦合/2 消息链/4 消息队列.py b/A 动机与模式/14 多计算单元/数据共享/2 本地服务/4 消息队列.py similarity index 100% rename from A 动机与模式/13 工程化考虑/2 松耦合/2 消息链/4 消息队列.py rename to A 动机与模式/14 多计算单元/数据共享/2 本地服务/4 消息队列.py diff --git a/A 动机与模式/15 人机交互/1 终端/终端命令行/command_line_1.py b/A 动机与模式/15 人机交互/1 终端/command_line_argv.py similarity index 95% rename from A 动机与模式/15 人机交互/1 终端/终端命令行/command_line_1.py rename to A 动机与模式/15 人机交互/1 终端/command_line_argv.py index 75421f9..a17a638 100644 --- a/A 动机与模式/15 人机交互/1 终端/终端命令行/command_line_1.py +++ b/A 动机与模式/15 人机交互/1 终端/command_line_argv.py @@ -2,6 +2,7 @@ import sys import re from collections import Counter +# 提供带参数的运行命令行环境 # 使用 : python command_line_1.py testfilepath 10 # 清洗文本,移除标点符号并转换为小写 @@ -43,4 +44,5 @@ def main(): print(f"Error: {e}") if __name__ == "__main__": - main() \ No newline at end of file + main() + diff --git a/A 动机与模式/15 人机交互/1 终端/终端命令行/command_line_2.py b/A 动机与模式/15 人机交互/1 终端/command_line_interactive.py similarity index 95% rename from A 动机与模式/15 人机交互/1 终端/终端命令行/command_line_2.py rename to A 动机与模式/15 人机交互/1 终端/command_line_interactive.py index d50fbe7..3062b9c 100644 --- a/A 动机与模式/15 人机交互/1 终端/终端命令行/command_line_2.py +++ b/A 动机与模式/15 人机交互/1 终端/command_line_interactive.py @@ -1,6 +1,9 @@ import re from collections import Counter +# 提供一个命令行交互方式来驱动程序运行 + + # 清洗文本,移除标点符号并转换为小写 def clean_text(text): return re.sub(r'[^\w\s]', '', text).lower() diff --git a/A 动机与模式/15 人机交互/1 终端/终端菜单/terminal_menu.py b/A 动机与模式/15 人机交互/1 终端/terminal_menu.py similarity index 96% rename from A 动机与模式/15 人机交互/1 终端/终端菜单/terminal_menu.py rename to A 动机与模式/15 人机交互/1 终端/terminal_menu.py index 0593f7f..7bec56b 100644 --- a/A 动机与模式/15 人机交互/1 终端/终端菜单/terminal_menu.py +++ b/A 动机与模式/15 人机交互/1 终端/terminal_menu.py @@ -1,3 +1,5 @@ +# 命令行菜单驱动程序 + import os import cppy.cp_util as util diff --git a/A 动机与模式/15 人机交互/1 终端/终端菜单/test.txt b/A 动机与模式/15 人机交互/1 终端/终端菜单/test.txt deleted file mode 100644 index 088a3d7..0000000 --- a/A 动机与模式/15 人机交互/1 终端/终端菜单/test.txt +++ /dev/null @@ -1,2 +0,0 @@ -" my Some sure acquaintance or other, my dear, sure,other I suppose; I am sure I do not -know. sure " diff --git a/A 动机与模式/17 其它/状态机/81A.py b/A 动机与模式/17 其它/状态机.py similarity index 100% rename from A 动机与模式/17 其它/状态机/81A.py rename to A 动机与模式/17 其它/状态机.py