Parallel Programming with OmniThreadLibrary Primož Gabrijelčič Primož Gabrijelčič programmer, consultant, speaker, trainer Delphi / Smart Mobile Studio Email: [email protected] Twitter: @thedelphigeek Skype: gabr42 The Delphi Geek –

Download Report

Transcript Parallel Programming with OmniThreadLibrary Primož Gabrijelčič Primož Gabrijelčič programmer, consultant, speaker, trainer Delphi / Smart Mobile Studio Email: [email protected] Twitter: @thedelphigeek Skype: gabr42 The Delphi Geek –

Slide 1

Parallel Programming with OmniThreadLibrary
Primož Gabrijelčič


Slide 2

Primož Gabrijelčič
programmer, consultant, speaker, trainer
Delphi / Smart Mobile Studio
Email: [email protected]
Twitter: @thedelphigeek
Skype: gabr42
The Delphi Geek – http://www.thedelphigeek.com
Smart Programmer – http://www.smartprogrammer.org


Slide 3


Slide 4

What is OmniThreadLibrary?


Slide 5

OmniThreadLibrary is …







… VCL for multithreading
… released under an open license
… actively developed
… frequently used
… available in Delphis from 2007 to XE3
– Windows 32- or 64-bit, VCL only


Slide 6

How do I learn more?


Slide 7

OmniThreadLibrary on the web







Home: otl.17slon.com
Code: omnithreadlibrary.googlecode.com
Book: leanpub.com/omnithreadlibrary
Wiki: otl.17slon.com/book
Support: otl.17slon.com/forum


Slide 8

How do I execute long operation in background
and run some code in the main thread after the
long operation has finished?


Slide 9

Async/Await
Initialization

Long operation

Cleanup


Slide 10

How do I run long calculation in background and
process the result in the main thread?


Slide 11

Future

Long calculation

Use result


Slide 12

How do I run same background operation in
multiple simultaneous copies processing an
input?


Slide 13

Background Worker

Data

Process

Process

Process

Process

Process

Result


Slide 14

How do I parallelize a process that executes in
multiple stages?


Slide 15

Pipeline

Data

Stage 1
Stage 2
Stage 3
Stage 4

Result


Slide 16

How do I work with databases in multithreaded
environment?


Slide 17

Databases
GUI

Frame

Frame
Database Access


Slide 18

Questions?