Submit Search
Upload
Pick up the low-hanging concurrency fruit
•
Download as ODP, PDF
•
3 likes
•
871 views
Vaclav Pech
Follow
My presentation on concurrency at GeeCON 2011
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 34
Download now
Recommended
GPars howto - when to use which concurrency abstraction
GPars howto - when to use which concurrency abstraction
Vaclav Pech
Concurrency on the JVM
Concurrency on the JVM
Vaclav Pech
Gpars workshop
Gpars workshop
Vaclav Pech
Reason and GraphQL
Reason and GraphQL
Nikolaus Graf
Poor Man's Functional Programming
Poor Man's Functional Programming
Dmitry Buzdin
Refactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
Luis Atencio on RxJS
Luis Atencio on RxJS
Luis Atencio
Time Series Meetup: Virtual Edition | July 2020
Time Series Meetup: Virtual Edition | July 2020
InfluxData
Recommended
GPars howto - when to use which concurrency abstraction
GPars howto - when to use which concurrency abstraction
Vaclav Pech
Concurrency on the JVM
Concurrency on the JVM
Vaclav Pech
Gpars workshop
Gpars workshop
Vaclav Pech
Reason and GraphQL
Reason and GraphQL
Nikolaus Graf
Poor Man's Functional Programming
Poor Man's Functional Programming
Dmitry Buzdin
Refactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
Luis Atencio on RxJS
Luis Atencio on RxJS
Luis Atencio
Time Series Meetup: Virtual Edition | July 2020
Time Series Meetup: Virtual Edition | July 2020
InfluxData
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Ontico
C# console programms
C# console programms
Yasir Khan
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
mattpodwysocki
C# labprograms
C# labprograms
Jafar Nesargi
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Luis Atencio
Pattern printing programs
Pattern printing programs
Mukesh Tekwani
Oop lecture9 13
Oop lecture9 13
Shahriar Robbani
Lab 1
Lab 1
rimshailyas1
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
Ted Leung
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
Flink Forward
C#
C#
actacademy
Is java8 a true functional programming language
Is java8 a true functional programming language
SQLI
Is java8a truefunctionallanguage
Is java8a truefunctionallanguage
Samir Chekkal
Connect S3 with Kafka using Akka Streams
Connect S3 with Kafka using Akka Streams
Seiya Mizuno
オープンデータを使ったモバイルアプリ開発(応用編)
オープンデータを使ったモバイルアプリ開発(応用編)
Takayuki Goto
My Gentle Introduction to RxJS
My Gentle Introduction to RxJS
Mattia Occhiuto
RxJS - The Reactive extensions for JavaScript
RxJS - The Reactive extensions for JavaScript
Viliam Elischer
Ruslan Shevchenko - Property based testing
Ruslan Shevchenko - Property based testing
Ievgenii Katsan
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
Badoo Development
20170714 concurrency in julia
20170714 concurrency in julia
岳華 杜
Impact Your Business; Identifying Low-Hanging Fruit for SharePoint 2013 No-Co...
Impact Your Business; Identifying Low-Hanging Fruit for SharePoint 2013 No-Co...
Gina Montgomery, V-TSP
Workshop_Navigating A Down Economy
Workshop_Navigating A Down Economy
guestdb3804
More Related Content
What's hot
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Ontico
C# console programms
C# console programms
Yasir Khan
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
mattpodwysocki
C# labprograms
C# labprograms
Jafar Nesargi
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Luis Atencio
Pattern printing programs
Pattern printing programs
Mukesh Tekwani
Oop lecture9 13
Oop lecture9 13
Shahriar Robbani
Lab 1
Lab 1
rimshailyas1
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
Ted Leung
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
Flink Forward
C#
C#
actacademy
Is java8 a true functional programming language
Is java8 a true functional programming language
SQLI
Is java8a truefunctionallanguage
Is java8a truefunctionallanguage
Samir Chekkal
Connect S3 with Kafka using Akka Streams
Connect S3 with Kafka using Akka Streams
Seiya Mizuno
オープンデータを使ったモバイルアプリ開発(応用編)
オープンデータを使ったモバイルアプリ開発(応用編)
Takayuki Goto
My Gentle Introduction to RxJS
My Gentle Introduction to RxJS
Mattia Occhiuto
RxJS - The Reactive extensions for JavaScript
RxJS - The Reactive extensions for JavaScript
Viliam Elischer
Ruslan Shevchenko - Property based testing
Ruslan Shevchenko - Property based testing
Ievgenii Katsan
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
Badoo Development
20170714 concurrency in julia
20170714 concurrency in julia
岳華 杜
What's hot
(20)
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
C# console programms
C# console programms
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
C# labprograms
C# labprograms
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Pattern printing programs
Pattern printing programs
Oop lecture9 13
Oop lecture9 13
Lab 1
Lab 1
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
C#
C#
Is java8 a true functional programming language
Is java8 a true functional programming language
Is java8a truefunctionallanguage
Is java8a truefunctionallanguage
Connect S3 with Kafka using Akka Streams
Connect S3 with Kafka using Akka Streams
オープンデータを使ったモバイルアプリ開発(応用編)
オープンデータを使ったモバイルアプリ開発(応用編)
My Gentle Introduction to RxJS
My Gentle Introduction to RxJS
RxJS - The Reactive extensions for JavaScript
RxJS - The Reactive extensions for JavaScript
Ruslan Shevchenko - Property based testing
Ruslan Shevchenko - Property based testing
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
20170714 concurrency in julia
20170714 concurrency in julia
Viewers also liked
Impact Your Business; Identifying Low-Hanging Fruit for SharePoint 2013 No-Co...
Impact Your Business; Identifying Low-Hanging Fruit for SharePoint 2013 No-Co...
Gina Montgomery, V-TSP
Workshop_Navigating A Down Economy
Workshop_Navigating A Down Economy
guestdb3804
Bmpr 10forseo july2010
Bmpr 10forseo july2010
Susan Price
How to attract more clients by focusing on the low hanging fruit
How to attract more clients by focusing on the low hanging fruit
Fabienne Fredrickson
Retention Strategies: A Steady Diet of Low-Hanging Fruit
Retention Strategies: A Steady Diet of Low-Hanging Fruit
Vivastream
Impact Your Business: Identify Low Hanging Fruits for SharePoint 2013 No-Code...
Impact Your Business: Identify Low Hanging Fruits for SharePoint 2013 No-Code...
Gina Montgomery, V-TSP
Generating Leads Through Social Networking For Slide Share
Generating Leads Through Social Networking For Slide Share
michaelbwatson
Web Analytics Analysis: How to Find Low-Hanging Fruit and A/B Test Ideas
Web Analytics Analysis: How to Find Low-Hanging Fruit and A/B Test Ideas
Shanelle Mullin
#SPSSAC Identifying Low Hanging Fruit for SharePoint 2013 No-Code Solutions
#SPSSAC Identifying Low Hanging Fruit for SharePoint 2013 No-Code Solutions
Gina Montgomery, V-TSP
Viewers also liked
(9)
Impact Your Business; Identifying Low-Hanging Fruit for SharePoint 2013 No-Co...
Impact Your Business; Identifying Low-Hanging Fruit for SharePoint 2013 No-Co...
Workshop_Navigating A Down Economy
Workshop_Navigating A Down Economy
Bmpr 10forseo july2010
Bmpr 10forseo july2010
How to attract more clients by focusing on the low hanging fruit
How to attract more clients by focusing on the low hanging fruit
Retention Strategies: A Steady Diet of Low-Hanging Fruit
Retention Strategies: A Steady Diet of Low-Hanging Fruit
Impact Your Business: Identify Low Hanging Fruits for SharePoint 2013 No-Code...
Impact Your Business: Identify Low Hanging Fruits for SharePoint 2013 No-Code...
Generating Leads Through Social Networking For Slide Share
Generating Leads Through Social Networking For Slide Share
Web Analytics Analysis: How to Find Low-Hanging Fruit and A/B Test Ideas
Web Analytics Analysis: How to Find Low-Hanging Fruit and A/B Test Ideas
#SPSSAC Identifying Low Hanging Fruit for SharePoint 2013 No-Code Solutions
#SPSSAC Identifying Low Hanging Fruit for SharePoint 2013 No-Code Solutions
Similar to Pick up the low-hanging concurrency fruit
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Domenic Denicola
Столпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай Мозговой
Sigma Software
Gpars concepts explained
Gpars concepts explained
Vaclav Pech
I am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdf
seamusschwaabl99557
Functional JavaScript for everyone
Functional JavaScript for everyone
Bartek Witczak
Javascript And J Query
Javascript And J Query
itsarsalan
Poly-paradigm Java
Poly-paradigm Java
Pavel Tcholakov
Secrets of JavaScript Libraries
Secrets of JavaScript Libraries
jeresig
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Jonas Bonér
Pragmatic Real-World Scala
Pragmatic Real-World Scala
parag978978
AST Transformations at JFokus
AST Transformations at JFokus
HamletDRC
Working effectively with legacy code
Working effectively with legacy code
ShriKant Vashishtha
ES6 Overview
ES6 Overview
Bruno Scopelliti
TypeScript Introduction
TypeScript Introduction
Dmitry Sheiko
The Beauty Of Java Script V5a
The Beauty Of Java Script V5a
rajivmordani
Think Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJS
Adam L Barrett
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Tsuyoshi Yamamoto
SDC - Einführung in Scala
SDC - Einführung in Scala
Christian Baranowski
Functional programming using underscorejs
Functional programming using underscorejs
偉格 高
The Beauty of Java Script
The Beauty of Java Script
Michael Girouard
Similar to Pick up the low-hanging concurrency fruit
(20)
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Столпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай Мозговой
Gpars concepts explained
Gpars concepts explained
I am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdf
Functional JavaScript for everyone
Functional JavaScript for everyone
Javascript And J Query
Javascript And J Query
Poly-paradigm Java
Poly-paradigm Java
Secrets of JavaScript Libraries
Secrets of JavaScript Libraries
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala
Pragmatic Real-World Scala
AST Transformations at JFokus
AST Transformations at JFokus
Working effectively with legacy code
Working effectively with legacy code
ES6 Overview
ES6 Overview
TypeScript Introduction
TypeScript Introduction
The Beauty Of Java Script V5a
The Beauty Of Java Script V5a
Think Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJS
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
SDC - Einführung in Scala
SDC - Einführung in Scala
Functional programming using underscorejs
Functional programming using underscorejs
The Beauty of Java Script
The Beauty of Java Script
More from Vaclav Pech
Domain Specific Language with pleasure
Domain Specific Language with pleasure
Vaclav Pech
Concepts of JetBrains MPS
Concepts of JetBrains MPS
Vaclav Pech
Advanced IDE functionality in modern language workbenches
Advanced IDE functionality in modern language workbenches
Vaclav Pech
Get 'em before they get You
Get 'em before they get You
Vaclav Pech
Groovy in IntelliJ IDEA
Groovy in IntelliJ IDEA
Vaclav Pech
Groovy Intro
Groovy Intro
Vaclav Pech
Team City
Team City
Vaclav Pech
More from Vaclav Pech
(7)
Domain Specific Language with pleasure
Domain Specific Language with pleasure
Concepts of JetBrains MPS
Concepts of JetBrains MPS
Advanced IDE functionality in modern language workbenches
Advanced IDE functionality in modern language workbenches
Get 'em before they get You
Get 'em before they get You
Groovy in IntelliJ IDEA
Groovy in IntelliJ IDEA
Groovy Intro
Groovy Intro
Team City
Team City
Recently uploaded
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
2toLead Limited
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
carlostorres15106
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
The transition to renewables in India.pdf
The transition to renewables in India.pdf
Competition Advisory Services (India) LLP
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Wonjun Hwang
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
null - The Open Security Community
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
BookNet Canada
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
Precisely
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
Deakin University
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Fwdays
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
jimielynbastida
costume and set research powerpoint presentation
costume and set research powerpoint presentation
phoebematthew05
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Andrey Dotsenko
Recently uploaded
(20)
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
The transition to renewables in India.pdf
The transition to renewables in India.pdf
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
costume and set research powerpoint presentation
costume and set research powerpoint presentation
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Pick up the low-hanging concurrency fruit
1.
2.
3.
4.
5.
# of cores
Today Soon
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Tree traversal
19.
File scan /
search
20.
21.
22.
23.
24.
No live-locks
25.
26.
27.
28.
df .y =
5
29.
}
30.
assert 15 ==
df .z
31.
Composing async functions
int hash1 = hash(download( 'http://www.gpars.org' )) int hash2 = hash(loadFile( '/gpars/website/index.html' )) boolean result = compare(hash1, hash2) println result
32.
Composing async functions
def hash = oldHash.asyncFun() def compare = oldCompare.asyncFun() def download = oldDownload.asyncFun() def loadFile = oldLoadFile.asyncFun() def hash1 = hash(download( 'http://www.gpars.org' )) def hash2 = hash(loadFile( '/gpars/website/index.html' )) def result = compare(hash1, hash2) println result .get()
33.
Composing async functions
int hash(String text ) {…} Promise<int> hash( Promise<String> | String text )
34.
35.
Wait (non-blocking) for
the text param
36.
Call the original
hash()
37.
Bind the
result }
38.
Composing async functions
Combine functions as usual Parallelism is detected automatically
39.
40.
Fork/Join
41.
Parallel collection processing
42.
Dataflow variables/streams
43.
44.
45.
Send a message
46.
47.
48.
public void onMessage(String
msg ) {
49.
String encripted
= encrypt( msg );
50.
reply( encripted );
51.
}
52.
public void onMessage(Integer
number ) {
53.
reply(2 *
number );
54.
}
55.
public void onMessage(Money
cash ) {
56.
System.out.println( "Received a
donation " + cash );
57.
account .deposit( cash
);
58.
}
59.
}
60.
Active Objects @ActiveObject
class MyCounter { private int counter = 0 @ActiveMethod def incrementBy( int value) { println "Received an integer: $value " this .counter += value } }
61.
62.
63.
Jon Kerridge, Napier
University
64.
65.
66.
http://www.jroller.com/vaclav
67.
http://twitter.com/vaclav_pech
Download now