Оптимизация Java-cервлетов с помощью AsyncContext

Представим ситуацию, что сервлет ожидает завершения какого-то процесса выполняющегося в другом потоке, чтобы в последствии использовать результат его выполнения.

Но пока код сервлета остановился и ожидает, можно сделать так, чтобы поток, в котором выполняется код сервлета не простаивал, то есть, чтобы он пошел выполнять другую задачу. Для этого используется AsyncContext.

Пример программы:

//Создадим простенький класс. //Дальше поясним зачем он. class Friend { public static void m1() { System.out.println(“Hello Friend!!!”); } } //Также можно увидеть что мы реализуем не только //Runnable но и расширяем Friend. Это преимущество //реализации Runnable перед расширением Thread //так как в Java можно расширять Лишь Один класс //и если бы мы расширили Thread то расширить //какой либо другой класс (например Friend) //уже не имели бы возможности. class MyThread extends Friend implements Runnable { int i=0; public void run() { i++; m1(); } } class RunnableExample { public static void main(String[] args) { //создаем один объект MyThread. MyThread MyThr = new MyThread(); //Можно у одного объекта //в отдельных потоках запускать его метод run //это преимущество Runnable перед Thread. //Подробнее на следующей странице. Thread t1 = new Thread(MyThr);//передается в поток Thread t2 = new Thread(MyThr);//передается в поток 2 раз //run объекта MyThr запускается //в отдельных потоках t1 и t2. t1.start(); t2.start(); //Еще одно преимущество Runnable перед Thread //что код класса реализующего Runnable можно //использовать вне в отдельном потоке. //То есть m1 просто выполнится здесь в потоке метода main MyThr.m1(); //В конце можно увидеть 2. То есть оба потока работали //с одним и тем же объектом. //Все потоки добавили 1 к полю i объекта MyThr. System.out.println(MyThr.i); } }

Вывод:

Азы работы с Java Server Pages (JSP)

Основы JSP: создание первой JSP-страницы, преобразование JSP в сервлеты, преимущества перед чистым HTML. Практическое руководство по началу работы с Java Server Pages.
Time to read: 17

Комментарии в JSP

Разбираем два типа комментариев в JSP: HTML и JSP. Узнайте, как правильно использовать теги и , а также другие JSP-директивы для эффективной разработки.
Time to read: 11

Неявные объекты в JSP: session, request и др.

Изучите 9 неявных объектов JSP: session, request, response, out и другие. Примеры работы с объектами в JSP-страницах и их практическое применение в Java веб-разработке.
Time to read: 14