Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Клиент-серверный сокет / VIP. Синхрофазатрон

  • На этом слайде мы создадим коллизию и узнаем, как от неё избавиться.
  • Дата отправки отчёта: 16 февраля 2019 г.
  • Задание выполнено: за 32 мин.
  • Чему научился: volatile - применяется для моментального чтения переменных, минуя кеширование

    synchronized - добавляем в сигнатуру метода, когда надо, чтобы к нему в один момент времени имел доступ один процесс, а не более одного!

    Пауза обусловлена уникальным доступом к методу слип для всех пяти потоков, как я понял
  • Оценка видео-уроку:
Отчёт от 17947 за Клиент-серверный сокет / VIP. Синхрофазатрон


Отчёт от 17947 за Клиент-серверный сокет / VIP. Синхрофазатрон




Оцени работу

 
Сохранить страницу:

  • Отчёт оценивали:
    20659no name+1   20528Геннадий Кравцов+1   20775Віталій0   791Валерий Жданов+1   3922Александр+1   9752chokayes+1   9913vip+1   2146Иван+1   11353AlliZzeN+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Синхронизировать потоки
Трудности: Описание урока 1. Обновить класс Worker: добавить счётчик count и заменить вечный цикл конечным, где вывести на экран номер итерации и значение счётчика.. 2. Обновить основной класс Main: создать экземпляр класса Worker и с его помощью 5 безымянных экземпляров класса Thread. 3. Запустить программу и проанализировать результаты. 4. Дополнить класс Worker, добавив паузу sleep(10). 5. Запустить программу и сравнить новые результаты с предыдущими. 6. Устранить возникшую коллизию добавлением в класс Worker метода synchronized void next(). 7. Запустить программу и убедиться в отсутствии коллизии. 8. Поэкспериментировать с различными вариантами функции next(). 9. Объяснить в каких случаях и почему происходит замедление работы программы. 10. Сделать скриншот и выслать отчет на проверку.



Научился: Поэкспериментировали с потоками и коллизиями. Synchronized метод подразумевает, что он может выполняться только одним процессом в данный момент. Св-во переменной volatile означает, что доступ или изменение данной переменной происходит тут же, без ожидания завершения операций над переменной другими потоками. Время работы программы увеличилось из-за того, что в Synchronized метод next кроме основных операций была добавлена пауза Thread.sleep(10).