Содержание
- 2. Навіщо потрібні потоки Потік – незалежна послідовність інструкцій, що отримує час процесора Багатопотоковість – спосіб “поділу
- 3. Асинхронні делегати Створення делегата, виклик асинхронним чином int TakesAWhile(int data, int ms, char c) //”тривалий”метод //
- 4. Дескриптор очікування Асинхронний зворотній виклик Альтернативний спосіб реалізації очікування З об’єктом IAsyncResult асоційовано дескриптор WaitHandle (приховує
- 5. Клас Thread. Передавання даних потокам Створювати і керувати delegate void ThreadStart(); tread = new Thread(aMethodName) лямбда-вираз
- 6. Оновлення інтерфейсу користувача з асинхронного потоку Оновлювати інтерфейс можна тільки в тому потоці, який його створив
- 7. Пули потоків ThreadPool Створення потоку – затрати часу ==> колекція потоків створених завчасу Автоматичне налаштування кількості
- 8. Засоби синхронізації потоків одного процесу lock(anObject) // thread-safe resources k++; //thread-unsafe operation Interlocked.Operation(anObject) Increment(), Decrement(), Exchange(),
- 9. Проблеми багатопотоковості “Гонки” – змагання за один ресурс несинхронізованих потоків Блокування ресурсу на час доступу на
- 10. Засоби синхронізації процесів WaitHandle Mutex Semaphore Event ReaderWriterLockSlim Таймери Шаблон BackgroundWorker
- 12. Скачать презентацию