Search code examples
cgetchar

How does getchar_unlocked() actually work?


  • What is the inner working of getchar_unlocked()?
  • Why is it thread unsafe?
  • And why it is not employed in windows POSIX?

Solution

  • getchar_unlocked() is not threadsafe, because it might manipulates internal data structures without locking or any other type of synchronisation. For any more detailled answer, you must look at the exact implementation in question.

    Omitting thread safety (and being inlined/a preprocessor define) is what makes it fast.