![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| d1nam1k |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Доброе время суток, уважаемые форумцы!
Изучаю на даный момент технологию сервлетов по книге Буди Курнявана " создание веб-приложений на языке Java с помощью сервлетов, JSP и EJB" . В книге демонстрируется пример многопоточности выполенения сервлета. Это демонстрация сервлета , не поддерживающего многопоточность. Код сервлета :
и говорится "откройте два браузера и запросите быстро один и тот же сервлет. Вы получите одинаковые значения в браузерах." Ок. я так и сделал . Но в итоге когда загружаю два браузера - Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 то получается два результата с разницей в единицу. А если запускаю на Internet Explorer 6.0 то получаю два одинаковых результата. Это первая проблема. А вторая проблема в том , что если этот класс будет реализовывать интерфейс SingleThreadModel
до этого было :
, то разницы вообще не замечается.. между тем что класс реализует интерфейс поточности или не реализует. Буду благодарен за содействующую помощь. Дима. Это сообщение отредактировал(а) d1nam1k - 3.7.2006, 23:27 |
||||||
|
|||||||
| d_k |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
Выкинь нафик эту книжку.
- смешно. Пошлите 2 запроса в промежуток между тактами 1. Дело в том что сервлеты открывют потоки ввода вывода. Эксепшины ты не отлавливаешь, просто съедаешь. Если файл занят - то эксепшин вылетит, но проглотится. Результат просто непредсказуем! Успел - не успел! Итого получится и одинаковые и разные значения в зависимости от того - используется ли ресурс или нет! 2. Если имплементировать SingleThreadModel то запускается только 1 инстанс сервлета и он и обслуживает клиентов. Тут должно быть всегда увеличение на 1-цу без эксепшинов Добавлено @ 10:11 Кстати работать с нитками в сервлетах не очень то рекоммендуется. |
|||
|
||||
| d1nam1k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
ну вообще попасть между тактами это анрил но для этого вроде и прописалась 6 секундная задержкав нужном месте. 1. т.е. когда первый сервлет вылопнил чтение и увеличения каунтера и ждет 6 сек то в это время запускается второй сервлет и выполняет пункт 1 и 2 . потом первый сервоет записывает и возвращает клиенту каунтер. тогда и второй , после 6 секундной задержки , должен вернуть тоже самое значение , но возвращает на 1 больше. Но он же считывал тоже значение каунтера что и первый сервлет ... 2. допустим оно так работает , но при реализации \ не реализации интерфейса SingleThreadServlet - никакой разницы не наблюдается.. при реализации этого интерфейса сервлет как бы должен выстраивать в очередь все запросы и выполнять по очереди ... но например на Екплорере выдает одно и то же значение при любом раскладе реализации\не реализации однопоточности . почему? в тоже время когда на firefox-e выдает на 1 больше тоже при любых расскладах реализации\не реализации. |
|||
|
||||
| d_k |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
||||
|
||||
| d1nam1k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
спасибо!
довольно интересная статейка. мда... автором книги было явно выбран неудачный пример для демонстрации многопоточности... чтобы разобратся с многопоточностью в Java что Вы можете посоветовать? |
|||
|
||||
| d_k |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 20.7.2004 Репутация: 1 Всего: 1 |
Местного фака вполне достаточно, чтобы начать... ;)
|
|||
|
||||
| d1nam1k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
"местный фак" всмысле этот топик ?
З.Ы. : у меня маленький вопрос , я вообще хотел идти в направление Java+Servlets+базы данных. но мне предложили работу javascript+дизайновые мутки+ возможно писать на Ява+возможно на будущее ajax что вы посоветуете ? оставатся при своей идеи и идти непонятными шагами не зная толком к чему стремится или начать хоть как работать со второй работой через некоторое время когда с этим разберусь ? Заранее спасибо огромное! |
|||
|
||||
| carper |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 2.3.2005 Репутация: 2 Всего: 8 |
d1nam1k
Не мое дело лезть с советами в таком тонком деле, но IMHO "Java+Servlets+базы данных", вполне даже тянут за собой - "клиентам надоело слушать рекламу они хотят чтобы их интерфейс не выглядел как в 1985 году и работал быстро", а это тянет за собой аплеты (все реже) и/или AJAX (не единственный свет в окошке, но пока наиболее модный). AJAX гордо демонстрирует свои преимущества перспективной, но крайне сырой технологии (в плане реализации), а это (сырость) тянет за собой изучение javascript (не обязательно в совершенстве, честно говоря, IMHO его единственное достоинство - это универсальность поддержки браузерами (тоже не полная совместимость, кстати), а так редкое убожество) и XML. javascript не имеет никакого смысла (в нашем случае), если не взаимодействует с экранными элементами, а это тянет за собой изучение DHTML (опять же не на уровне дизайнер!!!). В жирных мозгах некоторых неумных работодателей это почему-то тесно начинает ассоциироваться, с тем, что и "на швейной машике могешь!" и человека пытаются заставить выполнять работу web- дизайнера. Вот на этом этапе я бы крепко уперся рогом и уже решал кем быть. Для хорошего дизайнера придется изучить уйму интересных вещей не имеющих не малейшего отношения к программированию, для начала, рекомендую закончить хотя бы хорошую художественную школу с отличными оценками, не помешают также знания психологии восприятия (не на уровне основ, разумеется), собственные дизайнерские работы, участие хотя бы в паре дизанерских/художественных выставок ну и т.д. и т.п.. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |