Когда я использую контекст Android в AsyncTask#doInBackground, является ли он потокобезопасным? Контекст предоставляется через конструктор или через getApplicationContext() из окружающего Activity. Эти простые вопросы часто задают в stackoverflow и еще где, но я не нашел четкого ответа?
в doInBackground() я использую контекст для создания экземпляра класса DAO.
@Override
protected Void doInBackground(Void... params) {
ExampleDao dao = new ExampleDao(context);
...
}
Я видел несколько примеров, делающих это таким образом, но я не могу представить, что это потокобезопасно, потому что доступ к контексту теперь осуществляется основным потоком (потоком пользовательского интерфейса) и рабочим потоком.