powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / многопоточность...как лучше организовать?
25 сообщений из 160, страница 3 из 7
многопоточность...как лучше организовать?
    #40026763
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
Главное чтобы пациент не запивал селедку молоком))
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026767
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JSP 5.0 ???
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026779
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
JSP 5.0 ???
аллегория конечно.
Но по фактам, асинхронность в сервлетах появмлась в 2009 году!
Автор наверно еще не дошел до этого.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026796
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Чтобы обработка шла по очереди, нужна очередь! :-)
YES!
Аж с 2009 года в сервлетах.
ConcurrentLinkedQueue
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026837
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю. Никогда не поддерживал щенячьей радости от async. Всегда программировать
логику проще через синхронность. Ты имеешь результат в коде здесь и сейчас
и в контексте.

Я понимаю себе асинк как компромисс когда важна скорость. И там уже можно уродовать
код в угоду мультиплексированию например.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026843
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
причем тут асинхронность?
клиент открываете страницу - сервер начинает её готовить - если сервер готовит страницу час, то второе обращение от этого клиента встанет в очередь. и пока сервер не отдаст страницу клиент будет висеть.
тут клиент всегда один телега.

тут главное быстрее завершить сервлет.
и единственный путь - метод В запустить в отдельном потоке.
но как синхронизировать все методы В ?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026858
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
тут клиент всегда один телега.
4 телеги нельзя запустить что ли?
Код когда будет?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026859
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
но как синхронизировать все методы В ?
ГДЕ КОД?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026861
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
тут клиент всегда один телега.
сайт sql.ru всегда один.
Значит прогер вадя делает синхронизе и ставит всех к сайту в очередь.
Круто)))))
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026868
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
причем тут асинхронность?
клиент открываете страницу - сервер начинает её готовить - если сервер готовит страницу час, то второе обращение от этого клиента встанет в очередь. и пока сервер не отдаст страницу клиент будет висеть.
тут клиент всегда один телега.

тут главное быстрее завершить сервлет.
и единственный путь - метод В запустить в отдельном потоке.
но как синхронизировать все методы В ?

Я - честно честно не понимаю твоих проблем. Ситуацию с тем что сервер готовит страницу час - ты высосал из пальца.
Что здесь еще можно добавить? Надо искать корень проблемы в оптимизации сервера.

Как синхронизировать методы в Java - я знаю дохрена способов.
Но как их синхронизировать конкретно в твоей ситуации я - ХЗ.
Мне кажется тут просто неверно поставлена задача или мы оптимизируем
не то и не там.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026871
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
+1
ТС первый раз увидел задачу по IO. Когда файл парсится 3 минуты. Ну или оперДень закрывается.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026886
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если на сервере job запускать надо. То запрос быстро возвращает jobId.
И отпускает клиента. И дальше клиент может либо трекать статус джоба.
Либо подписаться на пуши. Но клиента никто не блокирует на час или на сутки.
За час и сокет закроется. Или ты перейдешь на другой wifi.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026890
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ситуацию с тем что сервер готовит страницу час - ты высосал из пальца.
час - величина утированная.
PetroNotC Sharp
4 телеги нельзя запустить что ли?
это как? ты вообще представляешь как работает бот телеги?
PetroNotC Sharp
ТС первый раз увидел задачу по IO. Когда файл парсится 3 минуты. Ну или оперДень закрывается.
ты не додумывай о том что не знаешь.
PetroNotC Sharp
ГДЕ КОД?

Код: 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.
        String formft = """
                  {\
                  "chat_id":%s,\
                  "text":"\
                  dfl_home_name           %s
                  dfl_host                %s
                  dfl_IPRuleFolder        %s
                  ip                      %s\
                  "}
                  """.formatted(chat_id, dfl_home_name, dfl_Home_ip, dfl_host, dfl_IPRuleFolder, mc[0]);
//        sendMessage(formft);
        System.out.println(formft);
        formft = """
                {\
                "chat_id":%s,\
                "text":"Ждите"\
    }
                """.formatted(chat_id);
        sendMessage(formft);
        Bot.DFL_control.DFL_set_IP(dfl_host, dfl_home_name, dfl_IPRuleFolder, mc[0]);
        formft = """
                {\
                "chat_id":%s,\
                "text":"IP разрешён
                 можно работать\n
                 не забудте отключить адрес после окончания работы"\
                }
                """.formatted(chat_id);
        sendMessage(formft);




вот этот метод Bot.DFL_control.DFL_set_IP выполняется до 20 сек.
там программируется роутер - и ты хоть выпрыгни из трусов - не ускоришь.

PetroNotC Sharp
Значит прогер вадя делает синхронизе и ставит всех к сайту в очередь.
в данном случае синхронизация нафиг не нужна.


ещё раз повторю - сервер телеги один - это не мой сервер, это сервер Дурова. и я с ним работаю по технологии "webhook" - как только для моего бота есть информация - он передаёт мне подключаясь к моему сервлету .
адрес подключения я задаю , отправляя серверу телеги опредtлённый json.
это равносильно тому что кто-то подключается к странице сайта.
и пока сервлет не закончит работу , для данного клиента, второй запуск сервлета не возможен.
другой клиент - другая сессия - пожалуйста.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026893
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Код: java
1.
String formft =

вадя джун. В 5ый раз прошу код БЛ из методов!
5 строчек вызова методов!!!
Твой вопрос про архитектуру.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026897
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
представляешь как работает бот телеги?
нет. Тут люди взрослые
22245803
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026900
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
как только для моего бота есть информация - он передаёт мне подключаясь к моему сервлету .
назови этот сервлет
doPostОтДурова()
Неужели тяжело?
Лень?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026901
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Но клиента никто не блокирует на час или на сутки.
За час и сокет закроется. Или ты перейдешь на другой wifi.
у меня работал алгоритм борьбы с перебором страниц - если идёт обращение к странице, которая запрещена или такой нет - то срабатывает переадресация на страницу , на которой есть команда слип - на несколько минут - на это время перебирающий просто ждёт когда ему отобразится Привет мир
или он отвалится по таймауту сам.

эта ситуация аналогична текущей. вот и правильный вопрос
как метод В запустить в отдельном потоке (синхронизировав между собой все запуски этого метода) и завершить работу сервлета (сессию). чтоб моно было обработать другой запрос от телеги
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026903
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
адрес подключения я задаю , отправляя серверу телеги опредtлённый json.
durov.setMyAddress()
?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026904
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
эта ситуация аналогична текущей. вот и правильный вопрос
как метод В запустить в отдельном потоке (синхронизировав между собой все запуски этого метода) и завершить работу сервлета (сессию). чтоб моно было обработать другой запрос от телеги
сначала ВИ.
Тут телеги не ни у кого)
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026905
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
и пока сервлет не закончит работу ,
какой из двух выше названных мной вместо тебя?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026906
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
mayton
Но клиента никто не блокирует на час или на сутки.
За час и сокет закроется. Или ты перейдешь на другой wifi.
у меня работал алгоритм борьбы с перебором страниц - если идёт обращение к странице, которая запрещена или такой нет - то срабатывает переадресация на страницу , на которой есть команда слип - на несколько минут - на это время перебирающий просто ждёт когда ему отобразится Привет мир
или он отвалится по таймауту сам.

эта ситуация аналогична текущей. вот и правильный вопрос
как метод В запустить в отдельном потоке (синхронизировав между собой все запуски этого метода) и завершить работу сервлета (сессию). чтоб моно было обработать другой запрос от телеги

Ты - синхронизируешь клиента? Бери BlockingQueue, или ThreadExecutor и накидывай
заданий. Будет все исполнятся последовательно.

При чем здесь сервлет - я вообще не понимаю. Сервлет - это сервер. А у тебя какая архитектура? 4-звенная? 5-Звенная?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026907
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
борьбы с перебором страниц
?
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026910
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перебор страниц ... это конечно треш и угар. И непонятно почему так. Наверное не от хорошей жизни.
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026912
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
5 строчек вызова методов!!!


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@WebServlet(name = "WebhookBot", urlPatterns = {"/pagebot"})
public class WebhookBot extends HttpServlet {


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

       Update_id(obj);


   }
    public static void Update_id(JSONObject obj) {

       ip(chat_id, data );
    }


}



Код: java
1.
2.
3.
4.
5.
6.
7.
public class IP {

    public static void ip(int chat_id, String data) {
           Bot.DFL_control.DFL_set_IP(dfl_host, dfl_home_name, dfl_IPRuleFolder, mc[0]);
   }

}




Код: java
1.
2.
3.
4.
5.
6.
7.
public class DFL_control {

    public static synchronized void DFL_set_IP(String DFL_host, String dfl_home_name, String dfl_IPRuleFolder, String IP) {
       тут долгая работа с железом
     }

}
...
Рейтинг: 0 / 0
многопоточность...как лучше организовать?
    #40026916
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Код: java
1.
HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

это можно не писать. Как и аннотации. Они для машины. А людям напиши коммент кто вызвает сервлет и зачем.
Это будет ВИ или юзкейсы
...
Рейтинг: 0 / 0
25 сообщений из 160, страница 3 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / многопоточность...как лучше организовать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]