try_lock() returns instantly, but it does acquires mutex lock if it is avaliable. If we just return try_lock() result, mutex is still locked by the thread. So it results in forever false with try_lock(). If the try_lock() returns true, unlock and return true for fix
According to cppreference.com, detach allows the thread to operate independently of thread handle, which is not our intent since we need it completely under control
https://en.cppreference.com/w/cpp/thread/thread/detach
* Remove join() call for std::thread which blocks the current context, halting the HAL thread also
* access returns 0 on successful, so we should make file if return value isnt 0
* Set parts AIDL thread to 3, for SwapThread, other interactions, Binder transaction