leJ*_*Jon 5 c++ multithreading c++11
根据定义,单个程序的多个线程共享它们的工作目录。您是否知道是否可以将每个线程都放在专用的工作目录中?也许是一个特定的图书馆?
注意:目标语言是c ++
这个概念并不存在于每个操作系统上,但至少在 Linux 和 Mac OS 上存在。
在 Linux 上,clone使用CLONE_THREAD和不使用CLONE_FS. 或者,通常创建一个线程并unshare与CLONE_FS. 然后,正常使用chdir或fchdir。
在 Mac OS 上使用pthread_chdir_np或pthread_fchdir_np. 这些调用的文档很少,但从 10.12 开始可用。该铬源表示,这个概念自10.5存在,但你必须直接使用系统调用。
大多数情况下,您会更喜欢*at调用系列,但在某些情况下无法使用它们——例如,connecting 或binding Unix 域套接字。
工作目录是为给定进程固定的环境属性。您可能想通过简单地使用一个特定于线程的字符串为每个线程模拟一个工作目录概念,该字符串为每个线程保存一个不同的目录。
| 归档时间: |
|
| 查看次数: |
1120 次 |
| 最近记录: |