Tag: pthread

  • 在 Linux 上不能用 pthread_delay_np

    在2016年系統軟體課程裏面有人提到:「為什麼不能用 pthread_delay_np,或是 pthread_cond_timewait等等」 會有這個問題是因為 jserv 在上到 pthread / concurrency 的時候常會提到中文界第一個以及唯一一個 pthread 文章翻譯「Getting Starated with POSIX Threads」,我們必須要考量到這篇文章翻譯的時間,是距今快要 20 年前的1998年翻譯完成的。當時使用的系統也不是 Linux,是 DEC OSF/1!作者另外也測試了 solaris 2.5.1 跟 SunOS 4.1.4。 回到正題,那為什麼 Linux 上不能用 pthread_delay_np 呢? 原因是因為,pthread_delay_np 只支援 HP-UX / VMS / Tru64 UNIX。pthread_delay_np() 存在於 POSIX.1c D4 draft,而 POSIX.1c D4 的 implementer 就是製作 OSF 的 DCE! 我們另外可以觀察到 pthread_delay_np 的後綴是 _np,代表這個function…