A limited service is implemented using the Binder class if we want the client and service to be running in the same process and not want to perform parallel IPC in different applications. This way, the thread (in the client) that calls the service method will be blocked until it returns. There may be several threads generated in the client (activity) programmatically, each of which calls the service method at any time. Therefore, the service must be implemented in such a way that it is thread safe, since there can simultaneously be several threads that call the service method. Conclusion: Android does not synchronize when the Binder class expands to implement the Limited Service.
A limited service is implemented using AIDL if we want to allow clients from different applications to access the service for IPC and try to handle multithreading in the service. Conclusion: Android does not synchronize when AIDL is used to implement a limited service.
Sunil source share