首页 > 文章列表 > 一个 goroutine 是否能够拥有两个不同的工作目录?

一个 goroutine 是否能够拥有两个不同的工作目录?

419 2024-04-18
问题内容

我想知道是否可以使用 os.chdir 实例化两个不同的 goroutine,每个 goroutines 都有自己的工作目录,而不修改主例程的工作目录。

...
// Go routine A
go func() {
    os.Chdir("dir_a/")
} ()

// Go routine B
go func() {
    os.Chdir("dir_b/")
} ()
...

到目前为止,avobe 代码并没有阻止主线程将其工作目录更改为“dir_b/”,而且我确信它也存在每个 goroutine 之间出现竞争情况的严重风险。


正确答案


是否可以有两个具有不同工作目录的不同 goroutine?

没有。您的应用程序只有一个工作目录。