У меня есть многопоточное приложение, работающее на iphone и android, причем по крайней мере 6 потоков работают одновременно. Я вижу, что мой callback sqlite3_busy_handler вызывается очень часто в приложении Android.
Мой занятый обработчик сглаживается постепенно, в зависимости от того, сколько раз он вызывается.
sleep((numTries*10) * (numTries + 1));
Что было бы хорошим алгоритмом повторения здесь? Должен ли я постоянно спать в моем обработчике? Должен ли я иметь алгоритм случайного времени сна? Или что-нибудь лучше?
Вы можете использовать метод postDelayed с таймером, я не уверен, что спать - лучший вариант.
http://developer.android.com/reference/android/os/Handler.html