high level multithreaded programming part i
Download
Skip this Video
Download Presentation
High-level Multithreaded Programming [Part I]

Loading in 2 Seconds...

play fullscreen
1 / 23

High-level Multithreaded Programming [Part I] - PowerPoint PPT Presentation


  • 94 Views
  • Uploaded on

High-level Multithreaded Programming [Part I]. Primo ž Gabrijelčič. Background Information. About Me. Primo ž Gabrijelčič Programmer, consultant, writer, speaker thedelphigeek.com www.glagolite.si/delphi Working with Delphi since Delphi 1 Hacking multithreaded code since 1999.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' High-level Multithreaded Programming [Part I]' - axl


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
about me
About Me
  • Primož Gabrijelčič
  • Programmer, consultant, writer, speaker
    • thedelphigeek.com
    • www.glagolite.si/delphi
  • Working with Delphi since Delphi 1
  • Hacking multithreaded code since 1999
about omnithreadlibrary
About OmniThreadLibrary
  • „VCL for multithreading“
  • Delphi 2007 – XE3[4]
  • Open source – OpenBSD license
    • www.omnithreadlibrary.com
    • omnithreadlibrary.googlecode.com
  • Win32/Win64
about the webinars
About the Webinars
  • Code and video: www.omnithreadlibrary.com/webinars
  • Code = free, video = $10, bundles!
  • 20 free books, courtesy of the De Novo Software, www.denovosoftware.com
installation
Installation
  • Download the installation package from the Google Code or checkout the SVN repository
  • Add installation folder and its src subfolder to the project search path or Win32/64 library path
  • Add the OtlParallel unit to the uses list
documentation
Documentation
  • Blog tutorials
  • “The book”
  • Presentations
  • Forum
  • Google+: OmniThreadLibrary
  • @TheDelphiGeek: #omnithreadlibrary

www.omnithreadlibrary.com

why multithreading
Why Multithreading?
  • Improve performance
  • Improve responsiveness
slide10
Why?
  • Designing parallel solutions is hard
  • Writing multithreaded code is hard
  • Testing multithreaded applications is hard
  • Debugging multithreaded code is pure …
otl to the rescue
OTL to the Rescue!
  • Well-tested components …
  • packed in reusable classes …
  • with high-level parallel programming support.
high level abstractions1
High-Level Abstractions
  • ParallelTask
  • BackgroundWorker
  • ForkJoin
  • Pipeline
  • Async [/Await]
  • Future
  • Join
  • ForEach
which abstraction to use
Which abstraction to use?
  • Consider data flow!
high level abstractions2
High-Level Abstractions
  • ParallelTask
  • BackgroundWorker
  • ForkJoin
  • Pipeline
  • Async [/Await]
  • Future
  • Join
  • ForEach

Start background task and continue

high level abstractions3
High-Level Abstractions
  • ParallelTask
  • BackgroundWorker
  • ForkJoin
  • Pipeline
  • Async [/Await]
  • Future
  • Join
  • ForEach
  • Start background calculation and retrieve the result
high level abstractions4
High-Level Abstractions
  • ParallelTask
  • BackgroundWorker
  • ForkJoin
  • Pipeline
  • Async [/Await]
  • Future
  • Join
  • ForEach
  • Start multiple background tasks [and wait]
keep in mind
Keep in Mind
  • Don’t parallelize everything
  • Rethink the algorithm
  • Data flow dictates the abstraction
  • Measure the improvements
  • Test, test and test
code and video
Code and Video

www.omnithreadlibrary.com/webinars

ad