Suppose that you need to pause a particular thread, executing a callback on it. Prior to thread-local handshakes, there wasn't any way to do that. The norm was to perform a global VM safepoint, which pauses all of the executing threads (and what a waste that is, if you meant to pause only one thread). With thread-local handshakes, it is possible to stop individual threads.
By aiming to reduce global VM safepoints, thread-local handshakes will reduce JVM latency and improve its efficiency.
Thread-local handshakes are a JVM implementation feature that can't be used directly by developers.