Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемГлеб Савоськин
2 Microsoft TechDayshttp:// Евгений Марченков Эксперт по технологиями разработки ПО Microsoft
3 Microsoft TechDayshttp:// Это набор продуктов и сервисов для простого создания приложений для роботов на большом кол-ве разнообразных устройств Microsoft Robotics Developer Studio 2008 RoboChamps
4 Microsoft TechDayshttp:// Runtime environment Выполнение приложений для роботов, отслеживание и взаимодействие с другими приложениями для роботов Visual Programming Language (VPL) Язык визуального программирования для написания приложений для роботов Simulation environment Выполнение приложения для роботов в симулируемых условиях
5 Microsoft TechDayshttp:// Decentralized System Services (DSS) Модель распределенного приложения Простая, гибкая и сервис-ориентированная Совместима с существующей Web инфраструктурой Concurrency & Coordination Runtime (CCR) Библиотека для работы с параллельными и асинхронными потоками данных Фокус на координацию сообщений Скрывает традиционные потоки и примитивы блокировки
6 Microsoft TechDayshttp:// Приложение – это композиция слабосвязанных параллельно выполняющихся компонент
7 Microsoft TechDayshttp:// Асинхронная модель программирования Модель параллельного программирования без ручного управления потоками, блокировками, семафорами и т.д. Основана на асинхронных сообщениях Фокус на координации примитивов Последовательное выполнение, но без блокировки потоков, без нужды в callback-ах Контекст исполнения для сервисов Изоляция от инфраструктуры Изоляция от других сервисов
8 Microsoft TechDayshttp:// Port содержит: Очередь (FIFO) содержащую значения определенного типа Может иметь до 16 очередей различных типов данных Очередь получателей, которые могут быть запущены по прибытии сообщения и выполнении определенных условий Получатель представлен в виде C# делегата Делегат может быть как именованным, так и анонимным Сообщения Сообщения посылаются на определенный порт сервиса Port myPort = new Port () ; myPort.Post (42) ; Arbiter Реализует общие конструкции параллелизма, такие как join, choice, interleave Простыми словами: «По нашим указаниям решает, что где и как должно обрабатываться» Port State Handlers Service FIFO
9 Microsoft TechDayshttp:// Dispatcher Это пул потоков Можно иметь в своем приложении несколько Dispatcher'ов Если не иметь вообще ни одного, тогда будет автоматически задействован "встроенный" ThreadPool (Default pool). DispatcherQueue Это просто очередь «Привязывается» к пулу потоков ("встроенному" или созданному). Можно иметь несколько таких очередей
10 Microsoft TechDayshttp:// Receive (Arbiter.Receive) Все приходящие в порт данные вызывают заданный обработчик Choice (Arbiter.Choice) В зависимости от типа данных в порту вызывается тот или иной обработчик Join (Arbiter.JoinedReceive) Обработчик вызывается только когда одновременно есть данные в обоих портах Dynamic Join ( Arbiter.MultipleItemReceive ) Обработчик вызывается тогда, когда в порту скапливается заданное количество данных Port1 Arbiter Handler 1 Handler 2 Handler 3 Port2
11 Microsoft TechDayshttp:// Описание : Есть метод UpdateUserStatistics, который часто вызывается в цикле и долго выполняется. Необходимо распараллелить цикл. Решение: static void Main(string[] args) { using (Dispatcher disp = new Dispatcher(2, "Main Pool")) { DispatcherQueue queue = new DispatcherQueue("Main Queue", disp); Port userPort = new Port (); Arbiter.Activate(queue, Arbiter.Receive (true, userPort, UpdateUserStatistics)); foreach (User user in GetUsersForUpdate()) { userPort.Post(user);}}}
12 Microsoft TechDayshttp:// Выполняется на двухядерном компьютере
13 Microsoft TechDayshttp:// Написание программ для роботов Для синхронизации параллельных и асинхронных потоков данных MySpaces Часть BackEnd инфраструктуры
14 Microsoft TechDayshttp:// Сайт Newsgroup Wiki annel9.MSRoboticsStudio
15 Microsoft TechDayshttp:// © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.