2014-03-30 31 views
-2
  • getchar_unlocked()的內部工作是什麼?
  • 它爲什麼線程不安全?
  • 爲什麼它不在Windows POSIX中使用?
+0

請說明您感興趣的確切實施。然後查看來源。 – Deduplicator

+0

「Windows POSIX」是一個矛盾的術語(不要跟我講POSIXSS.EXE)。您可能是指Visual C++附帶的* C運行庫*。 – zwol

+0

我已經讀過它的getchar_unlocked()是線程不安全,但它比getchar()或scanf()或cin更快>>我想知道什麼內部功能使它不同?是的,我的意思是c運行時功能 – user3478338

回答

2

getchar_unlocked()不是線程安全的,因爲它可能在不鎖定或任何其他類型的同步的情況下操作內部數據結構。對於任何更詳細的答案,你必須看看問題的確切實現。

省略線程安全性(以及內聯/預處理器定義)使得它更快。

0

它被用來加速程序,如果速度如果不是必要的因素在你的情況下儘量避免它,因爲它是不安全的。如果你的程序中一次只有一個線程,你可以去。 。:)