作者您好, P14页,2.2节部分讲到,去掉cudaDeviceSynchronize();函数将不能输出字符串,我尝试了并不是这样的,我注释掉cudaDeviceSynchronize(),而后添加std::this_thread::sleep_for(10ms); std::this_thread::sleep_for(100ms)尝试,能观察到在10~100ms之间输出16个线程的"hello world"。 这样感觉单纯注释掉cudaDeviceSynchronize()没有输出字符串是因为主机程序先结束了,不同步导致的,无法验证是因为没有刷新缓冲区。