• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта


  • Иллюстрированный самоучитель по Architecture .NET

    Модель приложений .NET. Потоки.

    Выполнение программы даст приведенный ниже результат:

    Added Boston Presidential Hotel with one room.
    Thread 3 starting a new thread.
    Thread 5 starting.
    Thread 6 starting.
    Reserving for Customer 2 at the Boston Presidential Hotel on
    12/13/2001 12:00:00 AM for 1 days
    Reserving for Customer 1 at the Boston Presidential Hotel on
    12/12/2001 12:00:00 AM for 3 days
    Thread 6 entered Broker::Reserve
    Thread 6 finds the room is available in Broker::Reserve
    Thread 5 entered Broker::Reserve
    Thread 5 finds the room is available in Broker::Reserve
    Thread 6 left Broker::Reserve
    Reservation for Customer 2 has been booked
    Reservationld = 1
    Thread 5 left Broker::Reserve
    Reservation for Customer 1 has been booked
    Reservationld = 2
    ReservationRate = 10000
    ReservationCost = 30000
    Comment = OK
    ReservationRate = 10000
    ReservationCost = 10000
    Comment = OK
    Done!
    

    Перевод такой:

    Добавлена Бостонская Президентская гостиница с одним номером.
    Поток 3 стартовал новый поток.
    Поток 5 стартовал.
    Поток 6 стартовал.
    Резервирование для Клиента 2 в Бостонской Президентской гостинице на
    12/13/2001 12:00:00 AM в течение 1 дня
    Резервирование для Клиента 1 в Бостонской Президентской гостинице на
    12/12/2001 12:00:00 AM в течение 3 дней
    Поток 6 ввел Брокер:: Резерв
    Поток 6 находит, что номер доступен в Брокер::Резерв
    Поток 5 ввел Брокер::Резерв
    Поток 5 находит, что номер доступен в Брокер::Резерв
    Поток 6 выходит из Брокер::Резерв
    Резервирование для Клиента 2 было заказано
    Reservationld = 1
    Поток 5 выходит из Брокер::Резерв
    Резервирование для Клиента 1 было заказано
    Reservationld = 2
    ReservationRate = 10000
    ReservationCost = 30000
    Комментарий = OK
    ReservationRate = 10000
    ReservationCost = 10000
    Комментарий = OK
    Сделано!
    

    К сожалению, оба клиента добиваются резервирования последнего (единственного) номера на 13 декабря! Обратите внимание на то, как один из потоков выполняет метод Reserve (Резерв) и находит, что номер доступен прежде, чем прекратит свою работу. Затем другой поток выполняет Reserve (Резерв) и также обнаруживает свободный номер прежде, чем закончится отведенный для него промежуток времени. Потом оба потока заказывают тот же самый номер гостиницы.

    Операционные системы предоставляют средства синхронизации взаимодействия нескольких потоков и процессов, получающих доступ к совместно используемым ресурсам. Каркас .NET Framework предусматривает несколько механизмов предотвращения конфликтов между потоками.

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

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.