Форум программистов, компьютерный форум CyberForum.ru

Потоки (Handler внутри synchronized) - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Портирование проекта eclipse на andoroid studio http://www.cyberforum.ru/android-dev/thread1462218.html
Проблема в следующем. Возникла необходимость перенести проект из eclipse на андройд студию. Сам проект был успешно перенесен, но возникла ошибка кодировки, исправил, теперь ругается на отсутствие ресурса. В чем причина, точнее где найти этот файл aidl и как его добавить в проект?
Программирование Android OAuth 2.0 нужен пример для входа google документы Раньше входил с кодом service.setUserCredentials(USERNAME, PASSWORD); теперь же google пишет что прекратил поддержку такой авторизации. Кто делал авторизацию OAuth 2.0 для google помогите справится ) http://www.cyberforum.ru/android-dev/thread1462150.html
Программирование Android Возврат на предыдущую Activity
Ребят, не получается вернуться на предыдущую активность. В классах каждой активити прописал @Override public void onBackPressed() { // do something on back. return; } но безрезультатно. По нажатию на кнопку Baсk на устройстве, приложение закрывается. 1 Активити со списком package com.example.admin.sber1;
Передача данных по Wifi Программирование Android
Всем доброго времени суток! Нуждаюсь в помощи... Пишу диплом на тему "Wifi осциллограф". Имеется такой wifi модуль-http://makezine.com/2015/04/01/esp8266-5-microcontroller-wi-fi-now-arduino-compatible/ , который создает открытую точку доступа и в режиме реального времени передает оцифрованные данные по UART. Осциллограмма должна выводиться на экран Android устройства, но при написании программы...
Программирование Android Неадекватное поведение адаптера ListView http://www.cyberforum.ru/android-dev/thread1461547.html
Собственно есть кастом-адаптер. В него приходят два массива с данными. В dates находится даты в формате "29.05.15". В photos ссылки на фотографии в фотмате "/data/data/packege/1.jpg;/data/data/packege/2.jpg". Проблема в том, что вызов getView происходит девять раз подряд для каждого элемента списка. В начале подумал что ошибка в том, что в суперкалсс передается ArrayList вместо List. Исправил, но...
Программирование Android Не могу программно открыть папку с фото Здравствуйте, написал свой файловый менеджер, но при запуске должна открыться папка /sdrard/dcim/camera, выдает ошибку, так же при выборе фото в этой папке оно должно загружаться в imageview, выдает ошибку, хотя другие файлы jpg и gif в других папках загружает отлично. В чем же может быть дело? подробнее

Показать сообщение отдельно
rugga
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 71

Потоки (Handler внутри synchronized) - Программирование Android

29.05.2015, 16:05. Просмотров 434. Ответов 6
Метки (Все метки)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
private Handler Ocnova = new Handler();
private Object sync = new Object();
 
class newThread extends Thread {
//...String mes.....
//...
   public void run() {
      while(true) {
         //.. socket.read(); // ждем пока не получим mes
         if("start".compareTo(mes) == 0) {
            synchronized(sync) {
               Ocnova.post(new Potok4(this, mes));
               try {sync.wait(); } catch (InterruptedException e) {  }
            }
         }
         else if("stop".compareTo(mes) == 0) {
            break;
         }
      }
   }
}
 
//GUI-Thread
//...
class Potok4 implements Runnable {
   private newThread threadNEW = null; private String mes = null;
   public Potok4(newThread threadNEW, String mes) {this.mes = mes;}
   //...
   synchronized(sync) {
      //...
      txt.setText(mes);
      sync.notify();
   }
}
Потоков newThread может быть очень много, поэтому synchronized. При отправки из newThread Handler-а, в Runnable(Potok4) выполняется не все, что там находится. Например setText срабатывает на раз. При этом, если поток newThread выходит из run(), все, что было внутри Potok4 тут же срабатывает (все тексты отображаются). Из-за чего такое может быть? Можно ли внутри synchronized вызывать Handler? Как быть, если нужно синхронизированно обращаться из других потоков к методам, которые работают только в gui-потоке?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru