Skip to content Skip to sidebar Skip to footer

Android: Parse.com Concurrency Issue With Findinbackground()

I am using Parse.com as a backend for my app. The local database from Parse seems to be very easy to use, so I decided to use it. I want to create a database with Name and PhoneNum

Solution 1:

Both of your problems are a result of asynchronous work. If you call the putPerson method twice, they will both run near-simultaneously in separate background threads and both find-queries will most likely return almost at the same time, and definitely before the first call has saved the new person.

In your example, the getPerson call will return before the background threads have been able to save your three people as well.

Your problem is not really related to Parse or localDataStore, but is a typical concurrency issue. You need to rethink how you handle concurrency in your app.

As long as this is only a local issue, you can impose synchronous structure with i.e. the Bolts Framework (which is already a part of your app since you're using Parse). But if calls to addPerson is done in multiple places, you will always face this problem and you'd have to find other solutions or workarounds to handle concurrency.

Concurrency is a big topic which you should spend some time studying.

Post a Comment for "Android: Parse.com Concurrency Issue With Findinbackground()"