When porting your Linux program to Windows for the first time, you may have to include more POSIX headers in your Linux code. It implements many other header files that are POSIX standards, including pthreads.h. Simply write C++ code as you would for Linux, and it should build in Visual Studio. Avoid conditionally defining _WIN32 ugliness in your code.
Because unistd.h exists in Linux as a standard header file, making this change for Windows will not break Linux code. Doing this will include the magic to make basic Linux APIs work in Windows.