多线程 改变目录问题

来源:互联网 发布:排序算法应用 编辑:程序博客网 时间:2024/06/15 10:48

问题:

chdir 函数改变进程的目录,不那如果是一个多线程序中一个线程调用了chdir函数那么就改变了整个进程的工作目录了?如果是的话,那么有没有办法只改变单个线程的工作目录而不改变整个进程的工作目录,也就是说如果在多线程程序中,如何让不同的线程工作在不同的目录上??


解决方法:

工作目录是一个环境变量 而环境变量是每个进程有一份的 同一进程下的线程一定共享一份环境变量 因此一个线程改变工作目录其他线程的工作目录也会改变
想让不同线程工作在不同线程上 我能想到的方法是将工作目录当作临界资源 然后用互斥锁锁住 每次切换目录之后一定要切换回来

原创粉丝点击