Skip to content

Commit 97895df

Browse files
committed
perf: 使用协程
1 parent 9974c83 commit 97895df

File tree

4 files changed

+37
-37
lines changed

4 files changed

+37
-37
lines changed

tool/fe/fe.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package fe
22

33
import (
44
"bufio"
5-
"errors"
65
"fe-tool/common"
76
"io"
87
"log"
@@ -13,20 +12,6 @@ import (
1312
const TargetDir = "FiddlerEverywhere"
1413

1514
func Download() {
16-
_, err := os.Stat("cache")
17-
if err != nil {
18-
if errors.Is(err, os.ErrNotExist) {
19-
// 不存在
20-
err := os.Mkdir("cache", 0755)
21-
if err != nil {
22-
log.Fatalln("Create dir error:", err)
23-
} else {
24-
log.Println("Create dir ok.")
25-
}
26-
} else {
27-
log.Fatalln("Check cache dir error:", err)
28-
}
29-
}
3015
if s, err := os.Stat("cache/fe.exe"); err == nil && !s.IsDir() {
3116
log.Println("cache/fe.exe exists.")
3217
return

tool/main.go

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,47 @@
11
package main
22

33
import (
4+
"errors"
45
"fe-tool/fe"
56
"fe-tool/patch"
67
"fe-tool/server"
8+
"log"
9+
"os"
10+
"sync"
711
)
812

913
func main() {
14+
15+
_, err := os.Stat("cache")
16+
if err != nil {
17+
if errors.Is(err, os.ErrNotExist) {
18+
// 不存在
19+
err := os.Mkdir("cache", 0755)
20+
if err != nil {
21+
log.Fatalln("Create dir error:", err)
22+
} else {
23+
log.Println("Create dir ok.")
24+
}
25+
} else {
26+
log.Fatalln("Check cache dir error:", err)
27+
}
28+
}
1029
// 1.下载FE,解压
11-
fe.Download()
12-
server.Download()
13-
patch.Download()
14-
fe.Extract()
15-
// 3.下载server数据,解压
16-
server.Extract()
30+
sg := sync.WaitGroup{}
31+
sg.Add(3)
32+
go func() {
33+
fe.Download()
34+
fe.Extract()
35+
sg.Done()
36+
}()
37+
go func() {
38+
// 3.下载server数据,解压
39+
server.Download()
40+
server.Extract()
41+
sg.Done()
42+
}()
43+
go patch.Download(&sg)
44+
sg.Wait()
1745
// 4.patch
1846
patch.Apply()
1947
}

tool/patch/patch.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"log"
88
"net/http"
99
"os"
10+
"sync"
1011
)
1112

1213
func Apply() {
@@ -55,7 +56,7 @@ func Apply() {
5556
log.Println("Apply end.")
5657
}
5758

58-
func Download() {
59+
func Download(sg *sync.WaitGroup) {
5960
_, err := os.Stat("cache")
6061
if err != nil {
6162
if errors.Is(err, os.ErrNotExist) {
@@ -99,4 +100,5 @@ func Download() {
99100
log.Fatalln("Rename fiddler.dll.tmp error", err)
100101
}
101102
log.Println("Download end, file size:", fileSize)
103+
sg.Done()
102104
}

tool/server/server.go

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package server
22

33
import (
44
"bufio"
5-
"errors"
65
"fe-tool/common"
76
"io"
87
"log"
@@ -13,20 +12,6 @@ import (
1312
const TargetDir = "."
1413

1514
func Download() {
16-
_, err := os.Stat("cache")
17-
if err != nil {
18-
if errors.Is(err, os.ErrNotExist) {
19-
// 不存在
20-
err := os.Mkdir("cache", 0755)
21-
if err != nil {
22-
log.Fatalln("Create dir error:", err)
23-
} else {
24-
log.Println("Create dir ok.")
25-
}
26-
} else {
27-
log.Fatalln("Check cache dir error:", err)
28-
}
29-
}
3015
if s, err := os.Stat("cache/server.zip"); err == nil && !s.IsDir() {
3116
log.Println("cache/server.zip exists.")
3217
return

0 commit comments

Comments
 (0)