From 12ca69ed3183e9db3d0afdbd68756757694cdb0f Mon Sep 17 00:00:00 2001 From: pgo2n3lie <2427112539@qq.com> Date: Fri, 15 Apr 2022 13:01:14 +0800 Subject: [PATCH] ADD file via upload --- 5.利用信号量解决同步问题.docx | Bin 0 -> 69522 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 5.利用信号量解决同步问题.docx diff --git a/5.利用信号量解决同步问题.docx b/5.利用信号量解决同步问题.docx new file mode 100644 index 0000000000000000000000000000000000000000..9ad9a3240a2af08f622ef69775f12ea9ef6e6791 GIT binary patch literal 69522 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