26.08.2008
32 подводных камня OpenMP при программировании на C++
|
|
Аннотация: С распространением многоядерных систем задача параллельного программирования становится все более и более актуальной. Данная область, однако, является новой даже для большинства опытных программистов.
Существующие компиляторы и анализаторы кода позволяют находить некоторые ошибки, возникающие при разработке параллельного кода. Многие ошибки никак не диагностируются. В данной статье приводится описание ряда ошибок, приводящих к некорректному поведению параллельных программ, созданных на основе технологии OpenMP.
Ключевые слова: OpenMP |
05.02.2011
Асинхронное программирование в C# 5
|
|
Аннотация: В статье рассматриваются новые возможности асинхронного программирования доступные в новой версии языка программирования C#.
Ключевые слова: C# 5; асинхронное программирование; многопоточность |
06.08.2004
Методика разработки многопоточных приложений: принципы и практическая реализация
|
|
Аннотация: Современные операционные системы (OC) нацелены на наиболее эффективное использование ресурсов компьютера. По большей части эффективность достигается за счет разделения ресурсов компьютера между несколькими процессами (многозадачность). Такое крупномасштабное разделение ресурсов обеспечивается операционными системами без каких-либо действий со стороны приложений или процессов. Процессы могут выполняться одновременно за счет переключения центрального процессора (или нескольких процессоров) между ними. Последние версии OC предоставляют механизмы, позволяющие приложениям управлять ресурсами компьютера и распределять их с большей степенью детализации, т.е. на уровне потоков. По аналогии с многозадачными операционными системами, которые могут одновременно выполнять несколько задач путем запуска нескольких процессов, процесс может в свою очередь выполнять несколько задач за счет использования нескольких потоков. В данном документе обсуждаются способы применения потоков для повышения производительности приложений. Также здесь представлена методика распараллеливания последовательных приложений.
Ключевые слова: Intel Threading Tools, Thread |
14.03.2005
Критические секции
|
|
Аннотация: В статье рассматриваются аспекты работы с критическими секциями, их внутреннее устройство и способы отладки
Ключевые слова: Critical Section, CriticalSection, EnterCriticalSection, LeaveCriticalSection |
27.03.2004
Спин-блокировки
|
|
Аннотация: <span class='lineQuote level1'>K>"Для использования спин-блокировки в критической секции нужно инициализи ровать счетчик циклов, вызвав: </span><br />
<span class='lineQuote level1'><br />
K>BOOL InitalizeCriticalSectionAndSpinCount( PCRITICAL_SECTION pcs, DWORD dwSpinCount); </span><br />
<span class='lineQuote level1'><br />
K>Как и в InitializeCriticalSection, первый параметр этой функции — адрес структуры критической се...</span>
Ключевые слова: |
14.02.2002
Заметка о производительности многопоточных Win32-программ
|
|
Аннотация: Довольно давно я прочитал статью, автор которой объединил две концепции - многозадачность и объектно-ориентированное программирование. В результате получились так называемые "живые объекты". Идея крайне проста - при инициализации объекта создается отдельный поток и объект в нем живет своей жизнью, а создатель объекта по мере необходимости получает информацию о состоянии объекта из его свойств.
Ключевые слова: |
15.02.2001
Многозадачность в Windows
|
|
Аннотация: Сейчас игнорировать возможности многозадачности, которые предоставляет Windows,
не может себе позволить ни один уважающий себя программист.
Многозадачность - это вовсе не так сложно, как кажется на первый взгляд,
и эта статья призвана вас в этом убедить. В ней рассматриваются основные концепции организации
многозадачной среды - процессы и потоки, а также подробно описывается проблема синхронизации
потоков и ее решение.
Ключевые слова: |
08.08.2004
Поток и функция-член класса
|
|
Аннотация: ethan hunt wrote:<br />
<span class='lineQuote level1'><br />
> Господа,</span><br />
<span class='lineQuote level1'>> извиняюсь за тупость, но почему в отдельный поток можно кидать только статическую функцию-член класса. До конца не понимаю (может из-за недосыпания).</span><br />
<br />
Потому, что статическая функция-член имеет такой же тип, как и обычная ф-ция (в отличее от нестатической фун-ции...
Ключевые слова: |
03.08.2003
Эффективная многопоточность
|
|
Аннотация: Статья посвящена системным механизмам, организующим (или помогающим организовать) пул потоков. Рассматриваются базовые, универсальные сервисы, с помощью которых можно реализовывать серверы для любых доступных механизмов взаимодействия сервера и клиента: сокеты, именованные каналы (named pipes), почтовые ящики (mailslots) и проч.
Ключевые слова: thread pool |
13.10.2001
Многопоточность с немногопоточными типами? Это просто !
|
|
Аннотация: STL и многие другие библиотеки написаны с учётом эффективности и удобства, но без учёта многопоточности процессов ( и это правильно ), но как же использовать эту кучу кода в многопоточных приложениях без написания эквивалентной кучи кода?
Ключевые слова: |
Работа с потоками в C#
|
24.03.2007
Работа с потоками в C#
|
|
Аннотация: Подробно рассматривается работа с потоками - запуск, завершение, прерывание, блокировки, синхронизация, контексты синхронизации, особенности взаимодействия с апартаментами, а также потоковые возможности .NET - потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты.
В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" - http://www.oreilly.com/catalog/9780596527570/
Ключевые слова: C#,thread,wait handle, mutex, apartament |
27.06.2007
Работа с потоками в C#
|
|
Аннотация: Окончание статьи, опубликованной в RSDN Magazine #1-2007. Рассматриваются особенности взаимодействия с апартаментами, потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты.
В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" - http://www.oreilly.com/catalog/9780596527570/
Ключевые слова: C#,thread,wait handle, mutex, apartament |
28.07.2011
Работа с потоками в C#
|
|
Аннотация: В третьей части статьи рассматривается Parallel LINQ, класс Parallel, конструкции параллелизма задач, параллельные коллекции, а также структуры SpinLock и SpinWait. В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 4.0 in a Nutshell" — http://oreilly.com/catalog/9780596800963
Ключевые слова: Многопоточность; PLINQ, TPL; C# |
Await && Locks - библиотека синхронизации потоков
|
30.01.2003
Await && Locks
|
|
Аннотация: Await && Locks – это библиотека синхронизации потоков. Необычная библиотека. Необычна она в том смысле, что она предоставляет не ряд классов или функций на все случаи жизни, – она предоставляет ряд конструкций, при помощи которых программист может более четко и ясно выражать свои намерения.
Ключевые слова: await, await_switch,await_case,await_timeout |
30.12.2002
Await && Locks
|
|
Аннотация: Прежде чем начать описание внутренностей Await && Locks, я хотел бы объяснить некоторые детали, которые могут показаться странными и неочевидными; а дизайн библиотеки – избыточным и хаотичным. Приведенные ниже действия касаются только проектирования на C++. Я сознательно использую эту комбинацию якобы несовместимых терминов C++ и проектирование, несмотря на то, что C++ считается языком кодирования, а для проектирования обычно используют другие средства, например UML. Это связано с тем, что язык кодирования, так или иначе, оказывает влияние на мышление программиста-проектировщика и как следствие на этап проектирования в целом.
Ключевые слова: |
30.12.2002
Await && Locks
|
|
Аннотация: Следует признать, что код, использующий библиотеку Await && Locks, не столь эффективен, насколько в принципе мог бы быть. Правда, этот недостаток относится больше именно к реализации. Тем не менее, это может стать решающим фактором при принятии решения, использовать ли данную библиотеку или нет. Обобщая, можно поставить вопрос так: «Стоят ли те преимущества, которые дает использование Await && Locks, тех накладных расходов, которые при этом возникнут?». Однозначный ответ я дать не могу. Это зависит от задач, которые собирается решать разработчик. Итак, в чем же заключаются недостатки, и какие выгоды сулит Await && Locks? Рассмотрим особенности данной библиотеки с разных сторон.
Ключевые слова: |