title: Will the Java Garbage Collector stop my POSIX threads created from JNI calls?
body: <p>I have a time critical application that needs to send a UDP datagram on a set schedule.  The tolerance for jitter is very low on the receiving side.  Implementing this with a java ScheduledThreadPoolExecutor isn't adequate because when the GC does a "Stop the World" collection my thread pauses while the GC does it's job.</p>
  
  <p>I would like to implement the business logic in Java while implementing the time critical portions with POSIX threads in C++ (Native environment is Linux by the way).  This would allow us to save thousands of lines of code written in Java and also get the pacing we need from the native system calls.</p>
  
  <p>My question is this: If I call a JNI function that creates a separate POSIX thread will that thread be "paused" when the Java GC does a "Stop the World" collection?  Are there any pitfalls that an experienced JNI guru would like to point out with this approach or any alternative approaches one would suggest?</p>
  
  <p>As always, thanks to the awesome stack overflow community!</p>