Доклады


Не требуется оформлять презентацию. Достаточно хорошо отформатированного для отображения на проекторе Word (6 кегль шрифт, 1 интервал, 1 интервал между абзацами, шрифт Tahoma) или Pdf документа.
Обязательно помимо раскрытия темы привести ниже или в тексте скрины страниц из источников (учебников с обязательным приложенным скрином обложки и выходных данных) и документцаии производителя.
Если требуется перевод (можно пользоваться яндекс переводчиком документов pdf), то привести скрины и на языке оригинала и переведенного рядом, чтобы можно было сопоставить. Для интернет источников необходимы ссылки (это касается документации производителя) на страницы. 
Если для источников допустимо распространение, то приложить и сами источники, чтобы можно было их полистать во время доклада.

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

Для частей доклада в соотвествии с приказом ...777.... необходимо указать в соответствующих частях какие ИИ использовались при подготовке этой части текста и какие конкретно использовались промпты.
Сами страницы общения с ИИ с ответами желательно (но необязательно) тоже приложить в формате mhtml

Ссылки указываются в неотформатированном виде (ссылка из адресной строки браузера как есть) или данные источника с второй страницы книги.

Доклады распределяются (по желанию, кто первый взял тему, тот ее и докладывает) см exel и там же синхронизироваться

Доклады демонстрируются всей группе на экране с проектором и освещаются выступающим. 

Доклад сделан не только для того, чтобы сдать его и получить зачет, а прежде всего для того, чтобы друг друга научить - поэтому доклады необходимо готовить вовремя  по 1 каждую неделю,  а также доклады необходимо внимательно слушать, задавать вопросы. А студенты отсутствующие на соотвествующих семинарских занятиях рискуют получить дополнительные вопросы по всем пропущенным докладам.


1) Java / JVM — 13 тем
JVM-блок получил много тем, потому что здесь одновременно есть зрелый java.util.concurrent, современные virtual threads, развивающаяся structured concurrency и сильная Kotlin-надстройка поверх JVM.
  1. Java: ExecutorService и ThreadPoolExecutor — доклад о том, как строить управляемое выполнение задач; раскрыть submit, invokeAll, fixed/cached/work-stealing pool, очереди задач, saturation и RejectedExecutionHandler.
  2. Java: Future vs CompletableFuture — показать переход от блокирующего ожидания к композиции async-цепочек; раскрыть thenApply, thenCompose, allOf, обработку исключений и orchestration.
  3. Java: ForkJoinPool, RecursiveTask, RecursiveAction — разобрать work-stealing и fork-join-подход; раскрыть granularity, recursive decomposition и типичные ошибки с мелкими задачами.
  4. Java: synchronized, wait, notify, notifyAll — доклад именно про встроенные мониторы JVM; раскрыть monitor pattern, guarded blocks, lost wakeups и спуровые пробуждения.
  5. Java: ReentrantLock, ReadWriteLock, StampedLock — сравнить явные lock-API; раскрыть fairness, read-mostly сценарии, optimistic read и lock upgrading pitfalls.
  6. Java: AtomicInteger, AtomicReference, LongAdder, VarHandle — доклад о low-level атомарности; раскрыть CAS, contention, когда LongAdder выгоднее счётчика на AtomicLong.
  7. Java: CountDownLatch, CyclicBarrier, Phaser — рассмотреть барьерные примитивы; раскрыть one-shot vs reusable coordination и фазовое управление параллельным алгоритмом.
  8. Java: BlockingQueue, SynchronousQueue, producer-consumer — конкретный доклад про очереди; раскрыть bounded/unbounded design, backpressure и handoff-сценарии.
  9. Java: ConcurrentHashMap, CopyOnWriteArrayList, concurrent collections — разобрать потокобезопасные коллекции; раскрыть тонкую гранулярность блокировок, snapshot-style коллекции и trade-offs по памяти.
  10. Java 21+: Virtual Threads — доклад о том, когда заменять platform threads на virtual threads; раскрыть blocking style, throughput, pinning и ограничения при legacy synchronization.
  11. Java: Structured Concurrency — показать модель “дерева задач”; раскрыть scoped life-cycle, cancellation, error propagation и отличие от вручную собранных Future.
  12. Java: Flow / SubmissionPublisher — разобрать стандартный reactive-streams API JDK; раскрыть publisher-subscriber, demand, backpressure и межкомпонентные pipeline.
  13. Kotlin на JVM: CoroutineScope, Dispatcher, Job, SupervisorJob — отдельный доклад по Kotlin concurrency; раскрыть structured concurrency, cooperative cancellation и отличие coroutine от thread.


    2) C / C++ / OpenMP / oneTBB — 18 тем  Здесь больше всего конкретики по примитивам и HPC: стандартная concurrency-библиотека C++, C11 threads/atomics, oneTBB как task-based слой и OpenMP 6.0 как один из главных стандартов директивного параллелизму


  14. C++: std::thread, std::jthread, stop_token — доклад о жизненном цикле потока; раскрыть join/detach, cooperative cancellation и почему jthread безопаснее в современном коде.
  15. C++: mutex, shared_mutex, lock_guard, unique_lock, scoped_lock — разобрать синхронизацию разделяемого состояния; раскрыть RAII, lock ordering и deadlock avoidance.
  16. C++: condition_variable и протоколы ожидания — показать правильный шаблон wait(predicate); раскрыть producer-consumer, spurious wakeups и lost notifications.
  17. C++: future, promise, packaged_task, std::async — доклад о task/future-модели стандартной библиотеки; раскрыть ownership результата, launch policy и composition limits.
  18. C++: std::atomic, memory_order, atomic_ref, atomic_wait/notify — low-level тема про memory model; раскрыть acquire/release, seq_cst, relaxed и где ошибки становятся неуловимыми.
  19. C++20: counting_semaphore, binary_semaphore, latch, barrier — разобрать новые координационные примитивы; раскрыть phase synchronization и bounded access.
  20. C++20/23: coroutines (co_await, co_return, generators) — доклад про stackless coroutines; раскрыть promise type, suspend points и как coroutine связывается с async I/O.
  21. C11: thrd_t, thrd_create, mtx_t, cnd_t — отдельный доклад по стандартным потокам C; раскрыть базовую модель без POSIX-специфики.
  22. C11: _Atomic, atomic_fetch_*, fences — разобрать атомарность в C; раскрыть lock-free counters, memory fences и опасность ложной уверенности в “простых” атомиках.

  23. oneTBB: parallel_for, parallel_reduce, blocked_range — доклад о data-parallel C++; раскрыть partitioning, grain size и когда TBB лучше ручных thread pool.

  24. oneTBB: Flow Graph (function_node, continue_node, limiter_node) — построение DAG-пайплайнов; раскрыть message-passing, bounded parallelism и backpressure.
  25. oneTBB: concurrent containers и task_arena — разобрать concurrent_hash_map, очереди и контроль арен/изолированных пулов; раскрыть nested parallelism.

  26. OpenMP: parallel, for, loop, simd — доклад именно по базовым директивам; раскрыть canonical loops, vectorization hints и совместимость thread-level + SIMD.
  27. OpenMP: schedule(static|dynamic|guided), collapse, ordered — тема про распределение итераций; раскрыть load balancing и когда collapse реально ускоряет вложенные циклы.
  28. OpenMP: reduction, task_reduction, in_reduction, declare reduction — разобрать редукции; раскрыть пользовательские редукции и различие loop/task reductions.
  29. OpenMP: critical, atomic, flush, single, sections, masked, nowait — доклад про синхронизацию и sequencing в OpenMP; раскрыть цену каждого примитива.
  30. OpenMP: task, taskloop, taskgroup, depend — тема по task-based OpenMP; раскрыть task granularity, dependency graph и nested tasking.
  31. OpenMP: target, teams, distribute, map, metadirective, declare variant, OMPT — продвинутый доклад про offload и адаптацию под архитектуру; раскрыть host/device mapping и инструменты анализа.


    3) Go — 10 тем
  32. В Go concurrency встроена в сам язык и стандартную библиотеку: goroutines, channels, select, context, memory model, race detector и доп. примитивы x/sync. Это делает Go одной из самых “учебно-практичных” экосистем для конкретных доклада

  33. Go: жизненный цикл goroutine и планировщик — раскрыть M:N scheduling, GOMAXPROCS, blocking vs runnable goroutines и cost model.
  34. Go: channels — unbuffered vs buffered — доклад о базовой передаче данных; раскрыть ownership данных, handoff и очередность взаимодействия.
  35. Go: select + timeout + cancellation patterns — разобрать multiplexing каналов; раскрыть non-blocking select, timeout case и graceful shutdown.
  36. Go: sync.Mutex, RWMutex, Cond — тема про shared-state подход в Go; раскрыть когда “share memory by communicating” не хватает.
  37. Go: WaitGroup, Once, Pool — доклад про координацию завершения, singleton-init и object reuse; раскрыть типовые misuse-ошибки.
  38. Go: context.Context — показать propagation deadlines/cancellation; раскрыть request-scoped values, anti-pattern “кладём всё в context” и отмену дерева задач.
  39. Go: sync/atomic и memory model — low-level доклад; раскрыть atomic load/store/CAS и границы применимости без mutex.
  40. Go: race detector (go test -race) — отдельная практическая тема; раскрыть какие гонки он ловит, а какие нет, и как строить workload для воспроизведения.
  41. Go: pipelines, fan-out/fan-in, cancellation — доклад по каноническим concurrency patterns; раскрыть закрытие каналов, draining и утечки goroutine.
  42. Go: x/sync/errgroup, semaphore, singleflight — продвинутый блок; раскрыть bounded concurrency, deduplication одинаковых запросов и group-cancellation.


    4) Python — 12 тем

    Python остаётся массовым языком, а его официальный стек concurrent execution сейчас особенно интересен: threading, multiprocessing, asyncio, concurrent.futures, новые concurrent.interpreters и продолжающаяся линия free-threaded CPyt

  43. Python: threading.Thread и шаблон worker threads — раскрыть lifecycle, daemon/non-daemon, join и где threading уместен для I/O-bound задач.
  44. Python: Lock, RLock, Condition, Semaphore, Event, Barrier — конкретный доклад по sync-примитивам стандартной библиотеки.
  45. Python: ThreadPoolExecutor — показать high-level API поверх потоков; раскрыть submit/map, starvation и типичные ошибки с блокирующими callback’ами.
  46. Python: ProcessPoolExecutor — тема про настоящий CPU parallelism; раскрыть pickling, chunksize, запуск subprocess-пула и overhead сериализации.
  47. Python: multiprocessing.Process, Pool, Queue, Pipe — доклад о process-based параллелизме; раскрыть локальную и удалённую конкуренцию, IPC и стартовые методы.
  48. Python: shared state между процессами (Value, Array, Manager, shared memory`) — разобрать, когда делить память, а когда лучше message passing.
  49. Python: asyncio — create_task, gather, as_completed, event loop — базовый доклад про async orchestration.
  50. Python: TaskGroup, cancellation, timeout, shield — современный доклад про structured async; раскрыть каскадную отмену и безопасное завершение групп задач.
  51. Python: asyncio.Queue, Lock, Semaphore, producer-consumer — тема про асинхронную координацию без потоков.
  52. Python: debug и ловушки asyncio — раскрыть debug mode, forgotten awaits, blocking calls inside loop и run_in_executor.
  53. Python 3.14: concurrent.interpreters и subinterpreters — отдельный доклад про новую стандартную возможность; раскрыть isolation, отдельные GIL на интерпретатор и модель обмена данными.
  54. Python: GIL, multiprocessing, subinterpreters и free-threaded CPython — сравнительный доклад без воды; раскрыть, какой путь выбирать для CPU-bound, I/O-bound и смешанных нагрузок.


    5) JavaScript / TypeScript (browser + Node.js) — 10 тем
    Для JS/TS важно не путать модели: в браузере — Web Workers, SharedArrayBuffer, Atomics и Web Locks; в Node — event loop, worker pool, worker_threads, streams/backpressure и async context propagation. TypeScript здесь наследует те же runtime-мод


  55. Browser JS: Worker, Dedicated Workers, Shared Workers — доклад о фоновых потоках в браузере; раскрыть жизненный цикл, ограничения DOM и сценарии CPU-offload.
  56. Browser JS: postMessage, structured clone, transferables — отдельная тема по обмену данными; раскрыть copy vs transfer и стоимость сериализации.
  57. Browser JS: SharedArrayBuffer + TypedArray — доклад о разделяемой памяти; раскрыть layout shared buffers и правила доступа.
  58. Browser JS: Atomics — разобрать load/store/add/sub/compareExchange, wait/notify и паттерны на shared memory.
  59. Browser JS: Web Locks API (navigator.locks) — тема про координацию между вкладками/воркерами; раскрыть leader election, lock scopes и fair usage.

  60. Node.js: event loop, worker pool и правило “don’t block the event loop” — доклад о фундаменте Node concurrency; раскрыть CPU-bound vs I/O-bound код.
  61. Node.js: worker_threads — показать, когда брать worker threads вместо обычного async I/O; раскрыть создание worker, parentPort, workerData.
  62. Node.js: shared memory в worker_threads — раскрыть SharedArrayBuffer, transfer list, MessageChannel и разницу между копированием и разделением.
  63. Node.js: Streams и backpressure — конкретный доклад про конкурентную обработку потоков данных; раскрыть Readable/Writable/Transform, pressure propagation и throughput.
  64. JS/TS: AbortController/AbortSignal и AsyncLocalStorage — тема про управление отменой и контекстом в асинхронных системах; раскрыть cancellation contract и traceable request context.


    6) .NET / C# — 10 тем
    В .NET concurrency очень широкая и прикладная: TPL, Parallel loops, Parallel.ForEachAsync, PLINQ, concurrent collections, Interlocked, SemaphoreSlim, CancellationToken, Channel<T> и TPL Dataf


  65. C#: Task vs Thread vs ThreadPool — доклад о базовых единицах выполнения; раскрыть cost model и почему большинство современного кода строится через Task.
  66. C#: Parallel.For / Parallel.ForEach / Partitioner — конкретная тема по data parallelism; раскрыть thread-local state, early break и partitioning strategies.
  67. C#: Parallel.ForEachAsync — отдельный современный доклад; раскрыть параллельную обработку IEnumerable/IAsyncEnumerable и контроль конкуренции.
  68. C#: async/await, Task.WhenAll, Task.WhenAny — тема про orchestration async-операций; раскрыть composition, aggregation exceptions и fan-out запросов.
  69. C#: PLINQ (AsParallel, AsOrdered, ForAll) — доклад о параллельных запросах; раскрыть cost model, ordering и почему PLINQ не ускоряет всё подряд.
  70. C#: producer-consumer в .NET — ConcurrentDictionary, ConcurrentQueue, BlockingCollection vs Channel<T> — сравнить коллекции и каналы для разных сценариев.
  71. C#: Interlocked — low-level доклад о атомарных счётчиках и CAS-операциях; раскрыть, где Interlocked заменяет lock, а где нет.
  72. C#: SemaphoreSlim — тема про bounded concurrency и ограничение параллелизма; раскрыть rate limiting, async waits и локальный semaphore semantics.
  73. C#: CancellationToken / CancellationTokenSource — доклад о cooperative cancellation; раскрыть propagation, linked tokens и корректную отмену длинных операций.
  74. C#: Channel<T> и TPL Dataflow — доклад про современные pipeline-модели; раскрыть bounded/unbounded channels, block linking, backpressure и coarse-grained actor/dataflow style.


    7) Rust — 8 тем
    Rust даёт одновременно безопасные native threads, сильный std::sync, async/await через runtime, data-parallelism через Rayon и богатую экосистему вроде Crossbeam и Loom для тестирования конкурентного к

  75. Rust: std::thread::spawn, Builder, JoinHandle — доклад про native OS threads; раскрыть 'static и Send-ограничения, именование и stack size.
  76. Rust: Arc, Mutex, RwLock, Condvar, Once — тема про shared-state synchronization; раскрыть ownership, interior mutability и poison semantics.
  77. Rust: каналы (std::sync message passing) — доклад про message-passing стиль; раскрыть producer-consumer, closing semantics и связь с ownership.
  78. Rust: std::sync::atomic — low-level доклад; раскрыть атомики в паре с Arc, memory ordering и где Rust всё равно не спасёт от логической гонки.
  79. Rust: async/await, Future, Poll, Waker — концептуальный, но не водяной доклад именно по runtime-механике async Rust.
  80. Tokio: runtime, spawn, select!, каналы и cancellation — отдельный прикладной доклад по главному async runtime Rust.
  81. Rayon: ParallelIterator, join, par_sort — доклад про data parallelism; раскрыть, как быстро распараллелить CPU-heavy код без ручных потоков.
  82. Rust: Crossbeam + Loom — тема про очереди, work-stealing, epoch-based structures и systematic testing concurrent code.


    8) MPI / CUDA / GPU — 7 тем
    Для HPC и высокопроизводительных систем обязательны MPI 4.1 и CUDA 13.2: у MPI — обмен сообщениями, коллективы, топологии и новые partitioned communications; у CUDA — execution model, streams и современная GPU-оркестра


  83. MPI: point-to-point (Send/Recv, nonblocking, persistent) — доклад о базовой и продвинутой передаче сообщений; раскрыть matching semantics, buffering и overlap computation/communication.
  84. MPI: collective communication (Barrier, Bcast, Reduce, Allreduce, nonblocking/persistent collectives) — раскрыть, как строятся масштабируемые коллективные этапы.
  85. MPI: communicators, groups, Cartesian topologies, neighborhood patterns — тема про структурирование процессов; раскрыть topology-aware decomposition и hardware mapping.
  86. MPI 4.1: partitioned communication — современный доклад; раскрыть partial completion, MPI_PARRIVED, взаимодействие с threads/tasks/OpenMP.
  87. CUDA: execution model (grid, block, warp, memory hierarchy) — фундаментальный доклад; раскрыть global/shared/local memory и SIMT execution.
  88. CUDA: streams, events, async memcpy — тема про overlap и pipeline на GPU; раскрыть stream concurrency и скрытие latency.
  89. CUDA: cooperative groups, graphs, dynamic parallelism и performance tuning — продвинутый доклад; раскрыть launch overhead, occupancy, shared memory tuning и kernel orchestration.


    10 дополнительных тем
    Это уже менее массовые, но вполне актуальные экосистемы и модели конкурентного программирования. Они хорошо подходят как резерв, если нужен более широкий охват


  90. Kotlin: Channel и Flow — раскрыть pipeline, backpressure и cold/hot stream semantics в coroutine-модели.

  91. Swift Concurrency: async/await, Task, TaskGroup — доклад о современной concurrency-модели Swift; раскрыть child tasks и structured concurrency.
  92. Swift: actor, Sendable, strict concurrency — тема про защиту состояния на уровне языка; раскрыть actor isolation и migration к строгой модели Swift 6.

  93. Erlang: spawn, mailboxes, receive, links, monitors — доклад про классическую actor/process-модель и fault-tolerant concurrency.
  94. Elixir: GenServer, Task, Supervisor — разобрать server-process abstraction, supervision tree и stateful process design.

  95. Akka Typed: actors, supervision, mailbox discipline — конкретный доклад по typed actor model на JVM.
  96. Akka Streams: backpressure, graphs, async boundaries — тема про non-blocking stream processing и composition graph’ов.

  97. Julia: Threads.@threads, @spawn, Task, Channel, distributed — доклад про современный scientific concurrency stack Julia.

  98. Clojure: core.async и core.async.flow — раскрыть go-blocks, каналы, flow topology и observability.

  99. Scala: Future, Promise, ExecutionContext — доклад про неблокирующую композицию вычислений и управление thread pools.

Автор: к.п.н., Румянцев Сергей Александрович, доцент Финансового университета при Правительстве РФ; доцент ОЧУВО Международного инновационного университета; Консалтинг, управление разработкой ПО; системный и бизнес анализ; менеджмент; аналитиз данных; управление ИТ. Телефон для связи +79269444818 (мессенджеры)   Короткая ссылка:

Не требуется оформлять презентацию. Достаточно хорошо отформатированного для отображения на проекторе Word (6 кегль шрифт, 1 интервал, 1 интервал между абзацами, шрифт Tahoma) или Pdf документа.
Обязательно помимо раскрытия темы привести ниже или в тексте скрины страниц из источников (учебников с обязательным приложенным скрином обложки и выходных данных) и документцаии производителя.
Если требуется перевод (можно пользоваться яндекс переводчиком документов pdf), то привести скрины и на языке оригинала и переведенного рядом, чтобы можно было сопоставить. Для интернет источников необходимы ссылки (это касается документации производителя) на страницы. 
Если для источников допустимо распространение, то приложить и сами источники, чтобы можно было их полистать во время доклада.

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

Для частей доклада в соотвествии с приказом ...777.... необходимо указать в соответствующих частях какие ИИ использовались при подготовке этой части текста и какие конкретно использовались промпты.
Сами страницы общения с ИИ с ответами желательно (но необязательно) тоже приложить в формате mhtml

Ссылки указываются в неотформатированном виде (ссылка из адресной строки браузера как есть) или данные источника с второй страницы книги.

Доклады распределяются (по желанию, кто первый взял тему, тот ее и докладывает) см exel и там же синхронизироваться

Доклады демонстрируются всей группе на экране с проектором и освещаются выступающим. 

Доклад сделан не только для того, чтобы сдать его и получить зачет, а прежде всего для того, чтобы друг друга научить - поэтому доклады необходимо готовить вовремя  по 1 каждую неделю,  а также доклады необходимо внимательно слушать, задавать вопросы. А студенты отсутствующие на соотвествующих семинарских занятиях рискуют получить дополнительные вопросы по всем пропущенным докладам.


1) Java / JVM — 13 тем
JVM-блок получил много тем, потому что здесь одновременно есть зрелый java.util.concurrent, современные virtual threads, развивающаяся structured concurrency и сильная Kotlin-надстройка поверх JVM.
  1. Java: ExecutorService и ThreadPoolExecutor — доклад о том, как строить управляемое выполнение задач; раскрыть submit, invokeAll, fixed/cached/work-stealing pool, очереди задач, saturation и RejectedExecutionHandler.
  2. Java: Future vs CompletableFuture — показать переход от блокирующего ожидания к композиции async-цепочек; раскрыть thenApply, thenCompose, allOf, обработку исключений и orchestration.
  3. Java: ForkJoinPool, RecursiveTask, RecursiveAction — разобрать work-stealing и fork-join-подход; раскрыть granularity, recursive decomposition и типичные ошибки с мелкими задачами.
  4. Java: synchronized, wait, notify, notifyAll — доклад именно про встроенные мониторы JVM; раскрыть monitor pattern, guarded blocks, lost wakeups и спуровые пробуждения.
  5. Java: ReentrantLock, ReadWriteLock, StampedLock — сравнить явные lock-API; раскрыть fairness, read-mostly сценарии, optimistic read и lock upgrading pitfalls.
  6. Java: AtomicInteger, AtomicReference, LongAdder, VarHandle — доклад о low-level атомарности; раскрыть CAS, contention, когда LongAdder выгоднее счётчика на AtomicLong.
  7. Java: CountDownLatch, CyclicBarrier, Phaser — рассмотреть барьерные примитивы; раскрыть one-shot vs reusable coordination и фазовое управление параллельным алгоритмом.
  8. Java: BlockingQueue, SynchronousQueue, producer-consumer — конкретный доклад про очереди; раскрыть bounded/unbounded design, backpressure и handoff-сценарии.
  9. Java: ConcurrentHashMap, CopyOnWriteArrayList, concurrent collections — разобрать потокобезопасные коллекции; раскрыть тонкую гранулярность блокировок, snapshot-style коллекции и trade-offs по памяти.
  10. Java 21+: Virtual Threads — доклад о том, когда заменять platform threads на virtual threads; раскрыть blocking style, throughput, pinning и ограничения при legacy synchronization.
  11. Java: Structured Concurrency — показать модель “дерева задач”; раскрыть scoped life-cycle, cancellation, error propagation и отличие от вручную собранных Future.
  12. Java: Flow / SubmissionPublisher — разобрать стандартный reactive-streams API JDK; раскрыть publisher-subscriber, demand, backpressure и межкомпонентные pipeline.
  13. Kotlin на JVM: CoroutineScope, Dispatcher, Job, SupervisorJob — отдельный доклад по Kotlin concurrency; раскрыть structured concurrency, cooperative cancellation и отличие coroutine от thread.


    2) C / C++ / OpenMP / oneTBB — 18 тем  Здесь больше всего конкретики по примитивам и HPC: стандартная concurrency-библиотека C++, C11 threads/atomics, oneTBB как task-based слой и OpenMP 6.0 как один из главных стандартов директивного параллелизму


  14. C++: std::thread, std::jthread, stop_token — доклад о жизненном цикле потока; раскрыть join/detach, cooperative cancellation и почему jthread безопаснее в современном коде.
  15. C++: mutex, shared_mutex, lock_guard, unique_lock, scoped_lock — разобрать синхронизацию разделяемого состояния; раскрыть RAII, lock ordering и deadlock avoidance.
  16. C++: condition_variable и протоколы ожидания — показать правильный шаблон wait(predicate); раскрыть producer-consumer, spurious wakeups и lost notifications.
  17. C++: future, promise, packaged_task, std::async — доклад о task/future-модели стандартной библиотеки; раскрыть ownership результата, launch policy и composition limits.
  18. C++: std::atomic, memory_order, atomic_ref, atomic_wait/notify — low-level тема про memory model; раскрыть acquire/release, seq_cst, relaxed и где ошибки становятся неуловимыми.
  19. C++20: counting_semaphore, binary_semaphore, latch, barrier — разобрать новые координационные примитивы; раскрыть phase synchronization и bounded access.
  20. C++20/23: coroutines (co_await, co_return, generators) — доклад про stackless coroutines; раскрыть promise type, suspend points и как coroutine связывается с async I/O.
  21. C11: thrd_t, thrd_create, mtx_t, cnd_t — отдельный доклад по стандартным потокам C; раскрыть базовую модель без POSIX-специфики.
  22. C11: _Atomic, atomic_fetch_*, fences — разобрать атомарность в C; раскрыть lock-free counters, memory fences и опасность ложной уверенности в “простых” атомиках.

  23. oneTBB: parallel_for, parallel_reduce, blocked_range — доклад о data-parallel C++; раскрыть partitioning, grain size и когда TBB лучше ручных thread pool.

  24. oneTBB: Flow Graph (function_node, continue_node, limiter_node) — построение DAG-пайплайнов; раскрыть message-passing, bounded parallelism и backpressure.
  25. oneTBB: concurrent containers и task_arena — разобрать concurrent_hash_map, очереди и контроль арен/изолированных пулов; раскрыть nested parallelism.

  26. OpenMP: parallel, for, loop, simd — доклад именно по базовым директивам; раскрыть canonical loops, vectorization hints и совместимость thread-level + SIMD.
  27. OpenMP: schedule(static|dynamic|guided), collapse, ordered — тема про распределение итераций; раскрыть load balancing и когда collapse реально ускоряет вложенные циклы.
  28. OpenMP: reduction, task_reduction, in_reduction, declare reduction — разобрать редукции; раскрыть пользовательские редукции и различие loop/task reductions.
  29. OpenMP: critical, atomic, flush, single, sections, masked, nowait — доклад про синхронизацию и sequencing в OpenMP; раскрыть цену каждого примитива.
  30. OpenMP: task, taskloop, taskgroup, depend — тема по task-based OpenMP; раскрыть task granularity, dependency graph и nested tasking.
  31. OpenMP: target, teams, distribute, map, metadirective, declare variant, OMPT — продвинутый доклад про offload и адаптацию под архитектуру; раскрыть host/device mapping и инструменты анализа.


    3) Go — 10 тем
  32. В Go concurrency встроена в сам язык и стандартную библиотеку: goroutines, channels, select, context, memory model, race detector и доп. примитивы x/sync. Это делает Go одной из самых “учебно-практичных” экосистем для конкретных доклада

  33. Go: жизненный цикл goroutine и планировщик — раскрыть M:N scheduling, GOMAXPROCS, blocking vs runnable goroutines и cost model.
  34. Go: channels — unbuffered vs buffered — доклад о базовой передаче данных; раскрыть ownership данных, handoff и очередность взаимодействия.
  35. Go: select + timeout + cancellation patterns — разобрать multiplexing каналов; раскрыть non-blocking select, timeout case и graceful shutdown.
  36. Go: sync.Mutex, RWMutex, Cond — тема про shared-state подход в Go; раскрыть когда “share memory by communicating” не хватает.
  37. Go: WaitGroup, Once, Pool — доклад про координацию завершения, singleton-init и object reuse; раскрыть типовые misuse-ошибки.
  38. Go: context.Context — показать propagation deadlines/cancellation; раскрыть request-scoped values, anti-pattern “кладём всё в context” и отмену дерева задач.
  39. Go: sync/atomic и memory model — low-level доклад; раскрыть atomic load/store/CAS и границы применимости без mutex.
  40. Go: race detector (go test -race) — отдельная практическая тема; раскрыть какие гонки он ловит, а какие нет, и как строить workload для воспроизведения.
  41. Go: pipelines, fan-out/fan-in, cancellation — доклад по каноническим concurrency patterns; раскрыть закрытие каналов, draining и утечки goroutine.
  42. Go: x/sync/errgroup, semaphore, singleflight — продвинутый блок; раскрыть bounded concurrency, deduplication одинаковых запросов и group-cancellation.


    4) Python — 12 тем

    Python остаётся массовым языком, а его официальный стек concurrent execution сейчас особенно интересен: threading, multiprocessing, asyncio, concurrent.futures, новые concurrent.interpreters и продолжающаяся линия free-threaded CPyt

  43. Python: threading.Thread и шаблон worker threads — раскрыть lifecycle, daemon/non-daemon, join и где threading уместен для I/O-bound задач.
  44. Python: Lock, RLock, Condition, Semaphore, Event, Barrier — конкретный доклад по sync-примитивам стандартной библиотеки.
  45. Python: ThreadPoolExecutor — показать high-level API поверх потоков; раскрыть submit/map, starvation и типичные ошибки с блокирующими callback’ами.
  46. Python: ProcessPoolExecutor — тема про настоящий CPU parallelism; раскрыть pickling, chunksize, запуск subprocess-пула и overhead сериализации.
  47. Python: multiprocessing.Process, Pool, Queue, Pipe — доклад о process-based параллелизме; раскрыть локальную и удалённую конкуренцию, IPC и стартовые методы.
  48. Python: shared state между процессами (Value, Array, Manager, shared memory`) — разобрать, когда делить память, а когда лучше message passing.
  49. Python: asyncio — create_task, gather, as_completed, event loop — базовый доклад про async orchestration.
  50. Python: TaskGroup, cancellation, timeout, shield — современный доклад про structured async; раскрыть каскадную отмену и безопасное завершение групп задач.
  51. Python: asyncio.Queue, Lock, Semaphore, producer-consumer — тема про асинхронную координацию без потоков.
  52. Python: debug и ловушки asyncio — раскрыть debug mode, forgotten awaits, blocking calls inside loop и run_in_executor.
  53. Python 3.14: concurrent.interpreters и subinterpreters — отдельный доклад про новую стандартную возможность; раскрыть isolation, отдельные GIL на интерпретатор и модель обмена данными.
  54. Python: GIL, multiprocessing, subinterpreters и free-threaded CPython — сравнительный доклад без воды; раскрыть, какой путь выбирать для CPU-bound, I/O-bound и смешанных нагрузок.


    5) JavaScript / TypeScript (browser + Node.js) — 10 тем
    Для JS/TS важно не путать модели: в браузере — Web Workers, SharedArrayBuffer, Atomics и Web Locks; в Node — event loop, worker pool, worker_threads, streams/backpressure и async context propagation. TypeScript здесь наследует те же runtime-мод


  55. Browser JS: Worker, Dedicated Workers, Shared Workers — доклад о фоновых потоках в браузере; раскрыть жизненный цикл, ограничения DOM и сценарии CPU-offload.
  56. Browser JS: postMessage, structured clone, transferables — отдельная тема по обмену данными; раскрыть copy vs transfer и стоимость сериализации.
  57. Browser JS: SharedArrayBuffer + TypedArray — доклад о разделяемой памяти; раскрыть layout shared buffers и правила доступа.
  58. Browser JS: Atomics — разобрать load/store/add/sub/compareExchange, wait/notify и паттерны на shared memory.
  59. Browser JS: Web Locks API (navigator.locks) — тема про координацию между вкладками/воркерами; раскрыть leader election, lock scopes и fair usage.

  60. Node.js: event loop, worker pool и правило “don’t block the event loop” — доклад о фундаменте Node concurrency; раскрыть CPU-bound vs I/O-bound код.
  61. Node.js: worker_threads — показать, когда брать worker threads вместо обычного async I/O; раскрыть создание worker, parentPort, workerData.
  62. Node.js: shared memory в worker_threads — раскрыть SharedArrayBuffer, transfer list, MessageChannel и разницу между копированием и разделением.
  63. Node.js: Streams и backpressure — конкретный доклад про конкурентную обработку потоков данных; раскрыть Readable/Writable/Transform, pressure propagation и throughput.
  64. JS/TS: AbortController/AbortSignal и AsyncLocalStorage — тема про управление отменой и контекстом в асинхронных системах; раскрыть cancellation contract и traceable request context.


    6) .NET / C# — 10 тем
    В .NET concurrency очень широкая и прикладная: TPL, Parallel loops, Parallel.ForEachAsync, PLINQ, concurrent collections, Interlocked, SemaphoreSlim, CancellationToken, Channel<T> и TPL Dataf


  65. C#: Task vs Thread vs ThreadPool — доклад о базовых единицах выполнения; раскрыть cost model и почему большинство современного кода строится через Task.
  66. C#: Parallel.For / Parallel.ForEach / Partitioner — конкретная тема по data parallelism; раскрыть thread-local state, early break и partitioning strategies.
  67. C#: Parallel.ForEachAsync — отдельный современный доклад; раскрыть параллельную обработку IEnumerable/IAsyncEnumerable и контроль конкуренции.
  68. C#: async/await, Task.WhenAll, Task.WhenAny — тема про orchestration async-операций; раскрыть composition, aggregation exceptions и fan-out запросов.
  69. C#: PLINQ (AsParallel, AsOrdered, ForAll) — доклад о параллельных запросах; раскрыть cost model, ordering и почему PLINQ не ускоряет всё подряд.
  70. C#: producer-consumer в .NET — ConcurrentDictionary, ConcurrentQueue, BlockingCollection vs Channel<T> — сравнить коллекции и каналы для разных сценариев.
  71. C#: Interlocked — low-level доклад о атомарных счётчиках и CAS-операциях; раскрыть, где Interlocked заменяет lock, а где нет.
  72. C#: SemaphoreSlim — тема про bounded concurrency и ограничение параллелизма; раскрыть rate limiting, async waits и локальный semaphore semantics.
  73. C#: CancellationToken / CancellationTokenSource — доклад о cooperative cancellation; раскрыть propagation, linked tokens и корректную отмену длинных операций.
  74. C#: Channel<T> и TPL Dataflow — доклад про современные pipeline-модели; раскрыть bounded/unbounded channels, block linking, backpressure и coarse-grained actor/dataflow style.


    7) Rust — 8 тем
    Rust даёт одновременно безопасные native threads, сильный std::sync, async/await через runtime, data-parallelism через Rayon и богатую экосистему вроде Crossbeam и Loom для тестирования конкурентного к

  75. Rust: std::thread::spawn, Builder, JoinHandle — доклад про native OS threads; раскрыть 'static и Send-ограничения, именование и stack size.
  76. Rust: Arc, Mutex, RwLock, Condvar, Once — тема про shared-state synchronization; раскрыть ownership, interior mutability и poison semantics.
  77. Rust: каналы (std::sync message passing) — доклад про message-passing стиль; раскрыть producer-consumer, closing semantics и связь с ownership.
  78. Rust: std::sync::atomic — low-level доклад; раскрыть атомики в паре с Arc, memory ordering и где Rust всё равно не спасёт от логической гонки.
  79. Rust: async/await, Future, Poll, Waker — концептуальный, но не водяной доклад именно по runtime-механике async Rust.
  80. Tokio: runtime, spawn, select!, каналы и cancellation — отдельный прикладной доклад по главному async runtime Rust.
  81. Rayon: ParallelIterator, join, par_sort — доклад про data parallelism; раскрыть, как быстро распараллелить CPU-heavy код без ручных потоков.
  82. Rust: Crossbeam + Loom — тема про очереди, work-stealing, epoch-based structures и systematic testing concurrent code.


    8) MPI / CUDA / GPU — 7 тем
    Для HPC и высокопроизводительных систем обязательны MPI 4.1 и CUDA 13.2: у MPI — обмен сообщениями, коллективы, топологии и новые partitioned communications; у CUDA — execution model, streams и современная GPU-оркестра


  83. MPI: point-to-point (Send/Recv, nonblocking, persistent) — доклад о базовой и продвинутой передаче сообщений; раскрыть matching semantics, buffering и overlap computation/communication.
  84. MPI: collective communication (Barrier, Bcast, Reduce, Allreduce, nonblocking/persistent collectives) — раскрыть, как строятся масштабируемые коллективные этапы.
  85. MPI: communicators, groups, Cartesian topologies, neighborhood patterns — тема про структурирование процессов; раскрыть topology-aware decomposition и hardware mapping.
  86. MPI 4.1: partitioned communication — современный доклад; раскрыть partial completion, MPI_PARRIVED, взаимодействие с threads/tasks/OpenMP.
  87. CUDA: execution model (grid, block, warp, memory hierarchy) — фундаментальный доклад; раскрыть global/shared/local memory и SIMT execution.
  88. CUDA: streams, events, async memcpy — тема про overlap и pipeline на GPU; раскрыть stream concurrency и скрытие latency.
  89. CUDA: cooperative groups, graphs, dynamic parallelism и performance tuning — продвинутый доклад; раскрыть launch overhead, occupancy, shared memory tuning и kernel orchestration.


    10 дополнительных тем
    Это уже менее массовые, но вполне актуальные экосистемы и модели конкурентного программирования. Они хорошо подходят как резерв, если нужен более широкий охват


  90. Kotlin: Channel и Flow — раскрыть pipeline, backpressure и cold/hot stream semantics в coroutine-модели.

  91. Swift Concurrency: async/await, Task, TaskGroup — доклад о современной concurrency-модели Swift; раскрыть child tasks и structured concurrency.
  92. Swift: actor, Sendable, strict concurrency — тема про защиту состояния на уровне языка; раскрыть actor isolation и migration к строгой модели Swift 6.

  93. Erlang: spawn, mailboxes, receive, links, monitors — доклад про классическую actor/process-модель и fault-tolerant concurrency.
  94. Elixir: GenServer, Task, Supervisor — разобрать server-process abstraction, supervision tree и stateful process design.

  95. Akka Typed: actors, supervision, mailbox discipline — конкретный доклад по typed actor model на JVM.
  96. Akka Streams: backpressure, graphs, async boundaries — тема про non-blocking stream processing и composition graph’ов.

  97. Julia: Threads.@threads, @spawn, Task, Channel, distributed — доклад про современный scientific concurrency stack Julia.

  98. Clojure: core.async и core.async.flow — раскрыть go-blocks, каналы, flow topology и observability.

  99. Scala: Future, Promise, ExecutionContext — доклад про неблокирующую композицию вычислений и управление thread pools.

https://webprogr.ru/~JUMIs
Короткая ссылка на новость:https://webprogr.ru/~JUMIs


Последние новости

Доклады


Не требуется оформлять презентацию. Достаточно хорошо отформатированного для отображения на проекторе Word (6 кегль шрифт, 1 интервал, 1 интервал между абзацами, шрифт Tahoma) или Pdf документа.
Обязательно помимо раскрытия темы привести ниже или в тексте скрины страниц из источников (учебников с обязательным приложенным скрином обложки и выходных данных) и документцаии производителя.
Если требуется перевод (можно пользоваться яндекс переводчиком документов pdf), то привести скрины и на языке оригинала и переведенного рядом, чтобы можно было сопоставить. Для интернет источников необходимы ссылки (это касается документации производителя) на страницы. 
Если для источников допустимо распространение, то приложить и сами источники, чтобы можно было их полистать во время доклада.

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

Для частей доклада в соотвествии с приказом ...777.... необходимо указать в соответствующих частях какие ИИ использовались при подготовке этой части текста и какие конкретно использовались промпты.
Сами страницы общения с ИИ с ответами желательно (но необязательно) тоже приложить в формате mhtml

Ссылки указываются в неотформатированном виде (ссылка из адресной строки браузера как есть) или данные источника с второй страницы книги.

Доклады распределяются (по желанию, кто первый взял тему, тот ее и докладывает) см exel и там же синхронизироваться

Доклады демонстрируются всей группе на экране с проектором и освещаются выступающим. 

Доклад сделан не только для того, чтобы сдать его и получить зачет, а прежде всего для того, чтобы друг друга научить - поэтому доклады необходимо готовить вовремя  по 1 каждую неделю,  а также доклады необходимо внимательно слушать, задавать вопросы. А студенты отсутствующие на соотвествующих семинарских занятиях рискуют получить дополнительные вопросы по всем пропущенным докладам.


1) Java / JVM — 13 тем
JVM-блок получил много тем, потому что здесь одновременно есть зрелый java.util.concurrent, современные virtual threads, развивающаяся structured concurrency и сильная Kotlin-надстройка поверх JVM.
  1. Java: ExecutorService и ThreadPoolExecutor — доклад о том, как строить управляемое выполнение задач; раскрыть submit, invokeAll, fixed/cached/work-stealing pool, очереди задач, saturation и RejectedExecutionHandler.
  2. Java: Future vs CompletableFuture — показать переход от блокирующего ожидания к композиции async-цепочек; раскрыть thenApply, thenCompose, allOf, обработку исключений и orchestration.
  3. Java: ForkJoinPool, RecursiveTask, RecursiveAction — разобрать work-stealing и fork-join-подход; раскрыть granularity, recursive decomposition и типичные ошибки с мелкими задачами.
  4. Java: synchronized, wait, notify, notifyAll — доклад именно про встроенные мониторы JVM; раскрыть monitor pattern, guarded blocks, lost wakeups и спуровые пробуждения.
  5. Java: ReentrantLock, ReadWriteLock, StampedLock — сравнить явные lock-API; раскрыть fairness, read-mostly сценарии, optimistic read и lock upgrading pitfalls.
  6. Java: AtomicInteger, AtomicReference, LongAdder, VarHandle — доклад о low-level атомарности; раскрыть CAS, contention, когда LongAdder выгоднее счётчика на AtomicLong.
  7. Java: CountDownLatch, CyclicBarrier, Phaser — рассмотреть барьерные примитивы; раскрыть one-shot vs reusable coordination и фазовое управление параллельным алгоритмом.
  8. Java: BlockingQueue, SynchronousQueue, producer-consumer — конкретный доклад про очереди; раскрыть bounded/unbounded design, backpressure и handoff-сценарии.
  9. Java: ConcurrentHashMap, CopyOnWriteArrayList, concurrent collections — разобрать потокобезопасные коллекции; раскрыть тонкую гранулярность блокировок, snapshot-style коллекции и trade-offs по памяти.
  10. Java 21+: Virtual Threads — доклад о том, когда заменять platform threads на virtual threads; раскрыть blocking style, throughput, pinning и ограничения при legacy synchronization.
  11. Java: Structured Concurrency — показать модель “дерева задач”; раскрыть scoped life-cycle, cancellation, error propagation и отличие от вручную собранных Future.
  12. Java: Flow / SubmissionPublisher — разобрать стандартный reactive-streams API JDK; раскрыть publisher-subscriber, demand, backpressure и межкомпонентные pipeline.
  13. Kotlin на JVM: CoroutineScope, Dispatcher, Job, SupervisorJob — отдельный доклад по Kotlin concurrency; раскрыть structured concurrency, cooperative cancellation и отличие coroutine от thread.


    2) C / C++ / OpenMP / oneTBB — 18 тем  Здесь больше всего конкретики по примитивам и HPC: стандартная concurrency-библиотека C++, C11 threads/atomics, oneTBB как task-based слой и OpenMP 6.0 как один из главных стандартов директивного параллелизму


  14. C++: std::thread, std::jthread, stop_token — доклад о жизненном цикле потока; раскрыть join/detach, cooperative cancellation и почему jthread безопаснее в современном коде.
  15. C++: mutex, shared_mutex, lock_guard, unique_lock, scoped_lock — разобрать синхронизацию разделяемого состояния; раскрыть RAII, lock ordering и deadlock avoidance.
  16. C++: condition_variable и протоколы ожидания — показать правильный шаблон wait(predicate); раскрыть producer-consumer, spurious wakeups и lost notifications.
  17. C++: future, promise, packaged_task, std::async — доклад о task/future-модели стандартной библиотеки; раскрыть ownership результата, launch policy и composition limits.
  18. C++: std::atomic, memory_order, atomic_ref, atomic_wait/notify — low-level тема про memory model; раскрыть acquire/release, seq_cst, relaxed и где ошибки становятся неуловимыми.
  19. C++20: counting_semaphore, binary_semaphore, latch, barrier — разобрать новые координационные примитивы; раскрыть phase synchronization и bounded access.
  20. C++20/23: coroutines (co_await, co_return, generators) — доклад про stackless coroutines; раскрыть promise type, suspend points и как coroutine связывается с async I/O.
  21. C11: thrd_t, thrd_create, mtx_t, cnd_t — отдельный доклад по стандартным потокам C; раскрыть базовую модель без POSIX-специфики.
  22. C11: _Atomic, atomic_fetch_*, fences — разобрать атомарность в C; раскрыть lock-free counters, memory fences и опасность ложной уверенности в “простых” атомиках.

  23. oneTBB: parallel_for, parallel_reduce, blocked_range — доклад о data-parallel C++; раскрыть partitioning, grain size и когда TBB лучше ручных thread pool.

  24. oneTBB: Flow Graph (function_node, continue_node, limiter_node) — построение DAG-пайплайнов; раскрыть message-passing, bounded parallelism и backpressure.
  25. oneTBB: concurrent containers и task_arena — разобрать concurrent_hash_map, очереди и контроль арен/изолированных пулов; раскрыть nested parallelism.

  26. OpenMP: parallel, for, loop, simd — доклад именно по базовым директивам; раскрыть canonical loops, vectorization hints и совместимость thread-level + SIMD.
  27. OpenMP: schedule(static|dynamic|guided), collapse, ordered — тема про распределение итераций; раскрыть load balancing и когда collapse реально ускоряет вложенные циклы.
  28. OpenMP: reduction, task_reduction, in_reduction, declare reduction — разобрать редукции; раскрыть пользовательские редукции и различие loop/task reductions.
  29. OpenMP: critical, atomic, flush, single, sections, masked, nowait — доклад про синхронизацию и sequencing в OpenMP; раскрыть цену каждого примитива.
  30. OpenMP: task, taskloop, taskgroup, depend — тема по task-based OpenMP; раскрыть task granularity, dependency graph и nested tasking.
  31. OpenMP: target, teams, distribute, map, metadirective, declare variant, OMPT — продвинутый доклад про offload и адаптацию под архитектуру; раскрыть host/device mapping и инструменты анализа.


    3) Go — 10 тем
  32. В Go concurrency встроена в сам язык и стандартную библиотеку: goroutines, channels, select, context, memory model, race detector и доп. примитивы x/sync. Это делает Go одной из самых “учебно-практичных” экосистем для конкретных доклада

  33. Go: жизненный цикл goroutine и планировщик — раскрыть M:N scheduling, GOMAXPROCS, blocking vs runnable goroutines и cost model.
  34. Go: channels — unbuffered vs buffered — доклад о базовой передаче данных; раскрыть ownership данных, handoff и очередность взаимодействия.
  35. Go: select + timeout + cancellation patterns — разобрать multiplexing каналов; раскрыть non-blocking select, timeout case и graceful shutdown.
  36. Go: sync.Mutex, RWMutex, Cond — тема про shared-state подход в Go; раскрыть когда “share memory by communicating” не хватает.
  37. Go: WaitGroup, Once, Pool — доклад про координацию завершения, singleton-init и object reuse; раскрыть типовые misuse-ошибки.
  38. Go: context.Context — показать propagation deadlines/cancellation; раскрыть request-scoped values, anti-pattern “кладём всё в context” и отмену дерева задач.
  39. Go: sync/atomic и memory model — low-level доклад; раскрыть atomic load/store/CAS и границы применимости без mutex.
  40. Go: race detector (go test -race) — отдельная практическая тема; раскрыть какие гонки он ловит, а какие нет, и как строить workload для воспроизведения.
  41. Go: pipelines, fan-out/fan-in, cancellation — доклад по каноническим concurrency patterns; раскрыть закрытие каналов, draining и утечки goroutine.
  42. Go: x/sync/errgroup, semaphore, singleflight — продвинутый блок; раскрыть bounded concurrency, deduplication одинаковых запросов и group-cancellation.


    4) Python — 12 тем

    Python остаётся массовым языком, а его официальный стек concurrent execution сейчас особенно интересен: threading, multiprocessing, asyncio, concurrent.futures, новые concurrent.interpreters и продолжающаяся линия free-threaded CPyt

  43. Python: threading.Thread и шаблон worker threads — раскрыть lifecycle, daemon/non-daemon, join и где threading уместен для I/O-bound задач.
  44. Python: Lock, RLock, Condition, Semaphore, Event, Barrier — конкретный доклад по sync-примитивам стандартной библиотеки.
  45. Python: ThreadPoolExecutor — показать high-level API поверх потоков; раскрыть submit/map, starvation и типичные ошибки с блокирующими callback’ами.
  46. Python: ProcessPoolExecutor — тема про настоящий CPU parallelism; раскрыть pickling, chunksize, запуск subprocess-пула и overhead сериализации.
  47. Python: multiprocessing.Process, Pool, Queue, Pipe — доклад о process-based параллелизме; раскрыть локальную и удалённую конкуренцию, IPC и стартовые методы.
  48. Python: shared state между процессами (Value, Array, Manager, shared memory`) — разобрать, когда делить память, а когда лучше message passing.
  49. Python: asyncio — create_task, gather, as_completed, event loop — базовый доклад про async orchestration.
  50. Python: TaskGroup, cancellation, timeout, shield — современный доклад про structured async; раскрыть каскадную отмену и безопасное завершение групп задач.
  51. Python: asyncio.Queue, Lock, Semaphore, producer-consumer — тема про асинхронную координацию без потоков.
  52. Python: debug и ловушки asyncio — раскрыть debug mode, forgotten awaits, blocking calls inside loop и run_in_executor.
  53. Python 3.14: concurrent.interpreters и subinterpreters — отдельный доклад про новую стандартную возможность; раскрыть isolation, отдельные GIL на интерпретатор и модель обмена данными.
  54. Python: GIL, multiprocessing, subinterpreters и free-threaded CPython — сравнительный доклад без воды; раскрыть, какой путь выбирать для CPU-bound, I/O-bound и смешанных нагрузок.


    5) JavaScript / TypeScript (browser + Node.js) — 10 тем
    Для JS/TS важно не путать модели: в браузере — Web Workers, SharedArrayBuffer, Atomics и Web Locks; в Node — event loop, worker pool, worker_threads, streams/backpressure и async context propagation. TypeScript здесь наследует те же runtime-мод


  55. Browser JS: Worker, Dedicated Workers, Shared Workers — доклад о фоновых потоках в браузере; раскрыть жизненный цикл, ограничения DOM и сценарии CPU-offload.
  56. Browser JS: postMessage, structured clone, transferables — отдельная тема по обмену данными; раскрыть copy vs transfer и стоимость сериализации.
  57. Browser JS: SharedArrayBuffer + TypedArray — доклад о разделяемой памяти; раскрыть layout shared buffers и правила доступа.
  58. Browser JS: Atomics — разобрать load/store/add/sub/compareExchange, wait/notify и паттерны на shared memory.
  59. Browser JS: Web Locks API (navigator.locks) — тема про координацию между вкладками/воркерами; раскрыть leader election, lock scopes и fair usage.

  60. Node.js: event loop, worker pool и правило “don’t block the event loop” — доклад о фундаменте Node concurrency; раскрыть CPU-bound vs I/O-bound код.
  61. Node.js: worker_threads — показать, когда брать worker threads вместо обычного async I/O; раскрыть создание worker, parentPort, workerData.
  62. Node.js: shared memory в worker_threads — раскрыть SharedArrayBuffer, transfer list, MessageChannel и разницу между копированием и разделением.
  63. Node.js: Streams и backpressure — конкретный доклад про конкурентную обработку потоков данных; раскрыть Readable/Writable/Transform, pressure propagation и throughput.
  64. JS/TS: AbortController/AbortSignal и AsyncLocalStorage — тема про управление отменой и контекстом в асинхронных системах; раскрыть cancellation contract и traceable request context.


    6) .NET / C# — 10 тем
    В .NET concurrency очень широкая и прикладная: TPL, Parallel loops, Parallel.ForEachAsync, PLINQ, concurrent collections, Interlocked, SemaphoreSlim, CancellationToken, Channel<T> и TPL Dataf


  65. C#: Task vs Thread vs ThreadPool — доклад о базовых единицах выполнения; раскрыть cost model и почему большинство современного кода строится через Task.
  66. C#: Parallel.For / Parallel.ForEach / Partitioner — конкретная тема по data parallelism; раскрыть thread-local state, early break и partitioning strategies.
  67. C#: Parallel.ForEachAsync — отдельный современный доклад; раскрыть параллельную обработку IEnumerable/IAsyncEnumerable и контроль конкуренции.
  68. C#: async/await, Task.WhenAll, Task.WhenAny — тема про orchestration async-операций; раскрыть composition, aggregation exceptions и fan-out запросов.
  69. C#: PLINQ (AsParallel, AsOrdered, ForAll) — доклад о параллельных запросах; раскрыть cost model, ordering и почему PLINQ не ускоряет всё подряд.
  70. C#: producer-consumer в .NET — ConcurrentDictionary, ConcurrentQueue, BlockingCollection vs Channel<T> — сравнить коллекции и каналы для разных сценариев.
  71. C#: Interlocked — low-level доклад о атомарных счётчиках и CAS-операциях; раскрыть, где Interlocked заменяет lock, а где нет.
  72. C#: SemaphoreSlim — тема про bounded concurrency и ограничение параллелизма; раскрыть rate limiting, async waits и локальный semaphore semantics.
  73. C#: CancellationToken / CancellationTokenSource — доклад о cooperative cancellation; раскрыть propagation, linked tokens и корректную отмену длинных операций.
  74. C#: Channel<T> и TPL Dataflow — доклад про современные pipeline-модели; раскрыть bounded/unbounded channels, block linking, backpressure и coarse-grained actor/dataflow style.


    7) Rust — 8 тем
    Rust даёт одновременно безопасные native threads, сильный std::sync, async/await через runtime, data-parallelism через Rayon и богатую экосистему вроде Crossbeam и Loom для тестирования конкурентного к

  75. Rust: std::thread::spawn, Builder, JoinHandle — доклад про native OS threads; раскрыть 'static и Send-ограничения, именование и stack size.
  76. Rust: Arc, Mutex, RwLock, Condvar, Once — тема про shared-state synchronization; раскрыть ownership, interior mutability и poison semantics.
  77. Rust: каналы (std::sync message passing) — доклад про message-passing стиль; раскрыть producer-consumer, closing semantics и связь с ownership.
  78. Rust: std::sync::atomic — low-level доклад; раскрыть атомики в паре с Arc, memory ordering и где Rust всё равно не спасёт от логической гонки.
  79. Rust: async/await, Future, Poll, Waker — концептуальный, но не водяной доклад именно по runtime-механике async Rust.
  80. Tokio: runtime, spawn, select!, каналы и cancellation — отдельный прикладной доклад по главному async runtime Rust.
  81. Rayon: ParallelIterator, join, par_sort — доклад про data parallelism; раскрыть, как быстро распараллелить CPU-heavy код без ручных потоков.
  82. Rust: Crossbeam + Loom — тема про очереди, work-stealing, epoch-based structures и systematic testing concurrent code.


    8) MPI / CUDA / GPU — 7 тем
    Для HPC и высокопроизводительных систем обязательны MPI 4.1 и CUDA 13.2: у MPI — обмен сообщениями, коллективы, топологии и новые partitioned communications; у CUDA — execution model, streams и современная GPU-оркестра


  83. MPI: point-to-point (Send/Recv, nonblocking, persistent) — доклад о базовой и продвинутой передаче сообщений; раскрыть matching semantics, buffering и overlap computation/communication.
  84. MPI: collective communication (Barrier, Bcast, Reduce, Allreduce, nonblocking/persistent collectives) — раскрыть, как строятся масштабируемые коллективные этапы.
  85. MPI: communicators, groups, Cartesian topologies, neighborhood patterns — тема про структурирование процессов; раскрыть topology-aware decomposition и hardware mapping.
  86. MPI 4.1: partitioned communication — современный доклад; раскрыть partial completion, MPI_PARRIVED, взаимодействие с threads/tasks/OpenMP.
  87. CUDA: execution model (grid, block, warp, memory hierarchy) — фундаментальный доклад; раскрыть global/shared/local memory и SIMT execution.
  88. CUDA: streams, events, async memcpy — тема про overlap и pipeline на GPU; раскрыть stream concurrency и скрытие latency.
  89. CUDA: cooperative groups, graphs, dynamic parallelism и performance tuning — продвинутый доклад; раскрыть launch overhead, occupancy, shared memory tuning и kernel orchestration.


    10 дополнительных тем
    Это уже менее массовые, но вполне актуальные экосистемы и модели конкурентного программирования. Они хорошо подходят как резерв, если нужен более широкий охват


  90. Kotlin: Channel и Flow — раскрыть pipeline, backpressure и cold/hot stream semantics в coroutine-модели.

  91. Swift Concurrency: async/await, Task, TaskGroup — доклад о современной concurrency-модели Swift; раскрыть child tasks и structured concurrency.
  92. Swift: actor, Sendable, strict concurrency — тема про защиту состояния на уровне языка; раскрыть actor isolation и migration к строгой модели Swift 6.

  93. Erlang: spawn, mailboxes, receive, links, monitors — доклад про классическую actor/process-модель и fault-tolerant concurrency.
  94. Elixir: GenServer, Task, Supervisor — разобрать server-process abstraction, supervision tree и stateful process design.

  95. Akka Typed: actors, supervision, mailbox discipline — конкретный доклад по typed actor model на JVM.
  96. Akka Streams: backpressure, graphs, async boundaries — тема про non-blocking stream processing и composition graph’ов.

  97. Julia: Threads.@threads, @spawn, Task, Channel, distributed — доклад про современный scientific concurrency stack Julia.

  98. Clojure: core.async и core.async.flow — раскрыть go-blocks, каналы, flow topology и observability.

  99. Scala: Future, Promise, ExecutionContext — доклад про неблокирующую композицию вычислений и управление thread pools.

Рейтинг@Mail.ru