Электронная библиотека Финансового университета

     

Детальная информация

Khot, Atul S. Concurrent patterns and best practices: build scalable apps with patterns in multithreading, synchronization, and functional programming. — Birmingham: Packt, 2018. — 1 online resource (258 p.) — <URL:http://elib.fa.ru/ebsco/1904973.pdf>.

Дата создания записи: 06.10.2018

Тематика: Software patterns.; Application software — Development.; Object-oriented programming (Computer science); COMPUTERS / Software Development & Engineering / General.; COMPUTERS / Programming / Object Oriented.

Коллекции: EBSCO

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть Финуниверситета Все Прочитать Печать Загрузить
Интернет Читатели Прочитать Печать
-> Интернет Анонимные пользователи

Оглавление

  • Cover
  • Title Page
  • Copyright and Credits
  • Packt Upsell
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Concurrency – An Introduction
    • Concurrency in a breeze
      • The push for concurrency
        • The MapReduce pattern
        • Fault tolerance
      • Time sharing 
      • Two models for concurrent programming
    • The message passing model
      • Coordination and communication
      • Flow control    
      • Divide and conquer
      • The concept of state
    • The shared memory and shared state model
      • Threads interleaving – the need for synchronization
      • Race conditions and heisenbugs
      • Correct memory visibility and happens-before
      • Sharing, blocking, and fairness
      • Asynchronous versus synchronous executions
      • Java's nonblocking I/O
    • Of patterns and paradigms
      • Event-driven architecture 
      • Reactive programming
      • The actor paradigm
      • Message brokers
      • Software transactional memory
      • Parallel collections 
    • Summary
  • Chapter 2: A Taste of Some Concurrency Patterns
    • A thread and its context
    • Race conditions
      • The monitor pattern
      • Thread safety, correctness, and invariants
        • Sequential consistency
        • Visibility and final fields
      • Double-checked locking
        • Safe publication
        • Initializing a demand holder pattern
      • Explicit locking
        • The hand-over-hand pattern
        • Observations – is it correct?
      • The producer/consumer pattern
        • Spurious and lost wake-ups
      • Comparing and swapping
    • Summary 
  • Chapter 3: More Threading Patterns
    • A bounded buffer
      • Strategy pattern – client polls
      • Strategy – taking over the polling and sleeping
      • Strategy – using condition variables
    • Reader or writer locks
      • A reader-friendly RW lock
      • A fair lock
    • Counting semaphores
    • Our own reentrant lock
    • Countdown latch
      • Implementing the countdown latch
    • A cyclic barrier
    • A future task
    • Summary
  • Chapter 4: Thread Pools
    • Thread pools 
      • The command design pattern
      • Counting words
      • Another version
      • The blocking queue
      • Thread interruption semantics
    • The fork-join pool
      • Egrep – simple version
      •  Why use a recursive task?
      • Task parallelism
      • Quicksort – using fork-join
        • The ForkJoinQuicksortTask class  
        • The copy-on-write theme
        • In-place sorting
      • The map-reduce theme 
    • Work stealing
    • Active objects
      • Hiding and adapting
      • Using a proxy
    • Summary
  • Chapter 5: Increasing the Concurrency
    • A lock-free stack
      • Atomic references
      • The stack implementation
    • A lock-free FIFO queue
      • How the flow works
      • A lock-free queue
        • Going lock-free
          • The enque(v) method
          • The deq() method
          • Concurrent execution of the enque and deque methods
      • The ABA problem
        • Thread locals
        • Pooling the free nodes      
        • The atomic stamped reference
    • Concurrent hashing
      • The add(v) method
        • The need to resize
      • The contains(v) method
    • The big lock approach 
      • The resizing strategy
    • The lock striping design pattern
    • Summary
  • Chapter 6: Functional Concurrency Patterns
    • Immutability
      • Unmodifiable wrappers
      • Persistent data structures
      • Recursion and immutability
    • Futures
      • The apply method
        • by-name parameters 
      • Future – thread mapping
      • Futures are asynchronous
      • Blocking is bad 
      • Functional composition
    • Summary   
  • Chapter 7: Actors Patterns
    • Message driven concurrency
      • What is an actor?
        • Let it crash
        • Location transparency
        • Actors are featherlight
      • State encapsulation
      • Where is the parallelism?
      • Unhandled messages
      • The become pattern
        • Making the state immutable
      • Let it crash - and recover
      • Actor communication – the ask pattern
        • Actors talking with each another
      • Actor communication – the tell pattern
      • The pipeTo pattern
    • Summary
  • Other Books You May Enjoy
  • Index

Статистика использования

stat Количество обращений: 0
За последние 30 дней: 0
Подробная статистика