SlideShare a Scribd company logo
The most common developer mistakes
in modern business applications.
„Multithreading in C#
pitfalls, mistakes and solutions.”
Marcin.Dembowski@goyello.com
Senior .NET Developer
Microsoft MVP @D3M80L
Olivia Tech Talks 7 VIII 2014
Agenda
A brief
overview
Run and
explain
Discussion
Thread – a brief overview
Thread overuse
Thread overview
Thread Kernel Object – 350~1240B
Thread Environment Block – 4KB
User Mode Stack – 1MB
Kernel Mode Stack – 12~24KB
Multithreading in C# - pitfalls, mistakes and solutions.
https://github.com/D3M80L/SharpProject/tree/master/Threading
Structure of our examples
• 'Example' class and 'ExampleTest'
– OnRun – where the example logic is placed
• State Machine
– Detect 'states' to track excecution point
• UnitTests and standalone application
– Quickly proof the example
Step by step
Questions
Materials
• Threading in C# - Joseph Albahari
• CLR via C# (4th ed) – Jeffrey Richter
• Patterns of paralel programming – StephenToub, Microsoft
• Windows Via C/C++ - Jeffrey Richter and Christophe Nasarre
The most common developer mistakes
in modern business applications.
„Multithreading in C#
pitfalls, mistakes and solutions.”
Marcin.Dembowski@goyello.com
Senior .NET Developer
Microsoft MVP @D3M80L
Olivia Tech Talks 7 VIII 2014

More Related Content

PDF
Multithreading in C# - pitfalls, mistakes and solutions. Goyello Olivia Tech ...
Kasia Horsten-Szemro
 
PPTX
Polyglot
Rory Preddy
 
PPTX
About Dewey Hong
Dewey Hong
 
PDF
Scaling up Deep Learning by Scaling Down
Databricks
 
PDF
Doing data science with Clojure
Simon Belak
 
PPTX
The modern view on implementation of classic design patterns in Java
Mikalai Alimenkou
 
PDF
Deep learning in production with the best
Adam Gibson
 
PPT
C++ for Embedded Programming
Colin Walls
 
Multithreading in C# - pitfalls, mistakes and solutions. Goyello Olivia Tech ...
Kasia Horsten-Szemro
 
Polyglot
Rory Preddy
 
About Dewey Hong
Dewey Hong
 
Scaling up Deep Learning by Scaling Down
Databricks
 
Doing data science with Clojure
Simon Belak
 
The modern view on implementation of classic design patterns in Java
Mikalai Alimenkou
 
Deep learning in production with the best
Adam Gibson
 
C++ for Embedded Programming
Colin Walls
 

Viewers also liked (18)

PDF
Alpha Recycling Case Study By PGS Software Ltd
PGS Software S.A.
 
PPTX
Techniki prezentacji od programisty dla ludzi
Kasia Horsten-Szemro
 
PPTX
WebDeveloper - Yesterday, Today, Tomorrow
Marcin Dembowski
 
PDF
Outsourcing – case study of Connectis company, Manfred Meier, S&T
S&T GROUP
 
PPTX
Word tworzenie dokumentów
Kasia Horsten-Szemro
 
PPTX
Excel vba
Kasia Horsten-Szemro
 
PPTX
Umiejętności programistyczne ii aplikacje
Kasia Horsten-Szemro
 
PPTX
Goyello prezentacja mam pomysł i co dalej 2016 01 22
Kasia Horsten-Szemro
 
PDF
About Britenet
Joanna Walczak-Buhaj
 
PPTX
Excel arkusze kalkulacyjne
Kasia Horsten-Szemro
 
PPTX
Just entity framework
Marcin Dembowski
 
PPTX
Umiejętności programistyczne i bycie geekiem to nie magia
Kasia Horsten-Szemro
 
PPT
Szkolenie social media part3
Kasia Horsten-Szemro
 
PPTX
01 wstep do programowania scratch
Kasia Horsten-Szemro
 
PPTX
Nowe technologie a bezpieczeństwo
Kasia Horsten-Szemro
 
PPT
Szkolenie social media part2
Kasia Horsten-Szemro
 
PPT
Szkolenie social media part1
Kasia Horsten-Szemro
 
PPTX
Billennium
Maria Jackson
 
Alpha Recycling Case Study By PGS Software Ltd
PGS Software S.A.
 
Techniki prezentacji od programisty dla ludzi
Kasia Horsten-Szemro
 
WebDeveloper - Yesterday, Today, Tomorrow
Marcin Dembowski
 
Outsourcing – case study of Connectis company, Manfred Meier, S&T
S&T GROUP
 
Word tworzenie dokumentów
Kasia Horsten-Szemro
 
Umiejętności programistyczne ii aplikacje
Kasia Horsten-Szemro
 
Goyello prezentacja mam pomysł i co dalej 2016 01 22
Kasia Horsten-Szemro
 
About Britenet
Joanna Walczak-Buhaj
 
Excel arkusze kalkulacyjne
Kasia Horsten-Szemro
 
Just entity framework
Marcin Dembowski
 
Umiejętności programistyczne i bycie geekiem to nie magia
Kasia Horsten-Szemro
 
Szkolenie social media part3
Kasia Horsten-Szemro
 
01 wstep do programowania scratch
Kasia Horsten-Szemro
 
Nowe technologie a bezpieczeństwo
Kasia Horsten-Szemro
 
Szkolenie social media part2
Kasia Horsten-Szemro
 
Szkolenie social media part1
Kasia Horsten-Szemro
 
Billennium
Maria Jackson
 
Ad

Similar to Multithreading in C# - pitfalls, mistakes and solutions. (20)

PDF
Reaktive Programmierung mit den Reactive Extensions (Rx)
NETUserGroupBern
 
PDF
Software Analytics - Achievements and Challenges
Tao Xie
 
PDF
Patterns for Scalability in Windows Azure Applications (Alex Mang)
ITCamp
 
PDF
Gojek Android Engineering at Scale vol 2
raditya gumay
 
PDF
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
eswcsummerschool
 
PPTX
Exploring metaprogramming using Ruby language
Harshal Hayatnagarkar
 
PPTX
Architecting modern Android apps
Grigori Hlopkov
 
PPT
OSCon - Performance vs Scalability
Gleicon Moraes
 
PPTX
MWLUG 2015 - An Introduction to MVC
Ulrich Krause
 
PDF
XRebel - Real Time Insight, Faster Apps
ZeroTurnaround
 
PPTX
Clean Code Part III - Craftsmanship at SoCal Code Camp
Theo Jungeblut
 
PPTX
An Introduction To Model  View  Controller In XPages
Ulrich Krause
 
PPTX
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
Karel Zikmund
 
PDF
Alex mang patterns for scalability in microsoft azure application
Codecamp Romania
 
PPTX
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)
Yury Leonychev
 
PDF
CQRS recepies
Francesco Garavaglia
 
PPTX
Onion Architecture with S#arp
Gary Pedretti
 
PDF
Build Java Web Application Using Apache Struts
weili_at_slideshare
 
PDF
Workshop Mock-Ups
fabricastartups
 
PDF
Framing the Argument: How to Scale Faster with NoSQL
Inside Analysis
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
NETUserGroupBern
 
Software Analytics - Achievements and Challenges
Tao Xie
 
Patterns for Scalability in Windows Azure Applications (Alex Mang)
ITCamp
 
Gojek Android Engineering at Scale vol 2
raditya gumay
 
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
eswcsummerschool
 
Exploring metaprogramming using Ruby language
Harshal Hayatnagarkar
 
Architecting modern Android apps
Grigori Hlopkov
 
OSCon - Performance vs Scalability
Gleicon Moraes
 
MWLUG 2015 - An Introduction to MVC
Ulrich Krause
 
XRebel - Real Time Insight, Faster Apps
ZeroTurnaround
 
Clean Code Part III - Craftsmanship at SoCal Code Camp
Theo Jungeblut
 
An Introduction To Model  View  Controller In XPages
Ulrich Krause
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
Karel Zikmund
 
Alex mang patterns for scalability in microsoft azure application
Codecamp Romania
 
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)
Yury Leonychev
 
CQRS recepies
Francesco Garavaglia
 
Onion Architecture with S#arp
Gary Pedretti
 
Build Java Web Application Using Apache Struts
weili_at_slideshare
 
Workshop Mock-Ups
fabricastartups
 
Framing the Argument: How to Scale Faster with NoSQL
Inside Analysis
 
Ad

Recently uploaded (20)

PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Software Development Company | KodekX
KodekX
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
Architecture of the Future (09152021)
EdwardMeyman
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Doc9.....................................
SofiaCollazos
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
IoT Sensor Integration 2025 Powering Smart Tech and Industrial Automation.pptx
Rejig Digital
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Software Development Company | KodekX
KodekX
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Architecture of the Future (09152021)
EdwardMeyman
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 

Multithreading in C# - pitfalls, mistakes and solutions.