Suche senden
Hochladen
Concurrency on the JVM
•
Als ODP, PDF herunterladen
•
13 gefällt mir
•
1,409 views
Vaclav Pech
Folgen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 43
Jetzt herunterladen
Empfohlen
GPars howto - when to use which concurrency abstraction
GPars howto - when to use which concurrency abstraction
Vaclav Pech
Pick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruit
Vaclav Pech
Gpars workshop
Gpars workshop
Vaclav Pech
Reason and GraphQL
Reason and GraphQL
Nikolaus Graf
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
mattpodwysocki
Luis Atencio on RxJS
Luis Atencio on RxJS
Luis Atencio
Parallel streams in java 8
Parallel streams in java 8
David Gómez García
Time Series Meetup: Virtual Edition | July 2020
Time Series Meetup: Virtual Edition | July 2020
InfluxData
Empfohlen
GPars howto - when to use which concurrency abstraction
GPars howto - when to use which concurrency abstraction
Vaclav Pech
Pick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruit
Vaclav Pech
Gpars workshop
Gpars workshop
Vaclav Pech
Reason and GraphQL
Reason and GraphQL
Nikolaus Graf
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
mattpodwysocki
Luis Atencio on RxJS
Luis Atencio on RxJS
Luis Atencio
Parallel streams in java 8
Parallel streams in java 8
David Gómez García
Time Series Meetup: Virtual Edition | July 2020
Time Series Meetup: Virtual Edition | July 2020
InfluxData
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Luis Atencio
Poor Man's Functional Programming
Poor Man's Functional Programming
Dmitry Buzdin
Refactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
C# console programms
C# console programms
Yasir Khan
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Ontico
C# labprograms
C# labprograms
Jafar Nesargi
Pattern printing programs
Pattern printing programs
Mukesh Tekwani
Rxjs ppt
Rxjs ppt
Christoffer Noring
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
Ted Leung
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
Flink Forward
Reactive Programming for a demanding world: building event-driven and respons...
Reactive Programming for a demanding world: building event-driven and respons...
Mario Fusco
My Gentle Introduction to RxJS
My Gentle Introduction to RxJS
Mattia Occhiuto
Lab 1
Lab 1
rimshailyas1
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
Oop lecture9 13
Oop lecture9 13
Shahriar Robbani
Ruslan Shevchenko - Property based testing
Ruslan Shevchenko - Property based testing
Ievgenii Katsan
Flink Batch Processing and Iterations
Flink Batch Processing and Iterations
Sameer Wadkar
Martial arts
Martial arts
Fuqiang Wang
挖财的互联网金融技术实践与探索@upyun opentalk
挖财的互联网金融技术实践与探索@upyun opentalk
Fuqiang Wang
Weitere ähnliche Inhalte
Was ist angesagt?
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Luis Atencio
Poor Man's Functional Programming
Poor Man's Functional Programming
Dmitry Buzdin
Refactoring to Macros with Clojure
Refactoring to Macros with Clojure
Dmitry Buzdin
C# console programms
C# console programms
Yasir Khan
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Ontico
C# labprograms
C# labprograms
Jafar Nesargi
Pattern printing programs
Pattern printing programs
Mukesh Tekwani
Rxjs ppt
Rxjs ppt
Christoffer Noring
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
Ted Leung
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
Flink Forward
Reactive Programming for a demanding world: building event-driven and respons...
Reactive Programming for a demanding world: building event-driven and respons...
Mario Fusco
My Gentle Introduction to RxJS
My Gentle Introduction to RxJS
Mattia Occhiuto
Lab 1
Lab 1
rimshailyas1
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
Oop lecture9 13
Oop lecture9 13
Shahriar Robbani
Ruslan Shevchenko - Property based testing
Ruslan Shevchenko - Property based testing
Ievgenii Katsan
Flink Batch Processing and Iterations
Flink Batch Processing and Iterations
Sameer Wadkar
Was ist angesagt?
(20)
Thinking Functionally with JavaScript
Thinking Functionally with JavaScript
Poor Man's Functional Programming
Poor Man's Functional Programming
Refactoring to Macros with Clojure
Refactoring to Macros with Clojure
C# console programms
C# console programms
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
Kotlin Perfomance on Android / Александр Смирнов (Splyt)
C# labprograms
C# labprograms
Pattern printing programs
Pattern printing programs
Rxjs ppt
Rxjs ppt
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
Reactive Programming for a demanding world: building event-driven and respons...
Reactive Programming for a demanding world: building event-driven and respons...
My Gentle Introduction to RxJS
My Gentle Introduction to RxJS
Lab 1
Lab 1
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
Oop lecture9 13
Oop lecture9 13
Ruslan Shevchenko - Property based testing
Ruslan Shevchenko - Property based testing
Flink Batch Processing and Iterations
Flink Batch Processing and Iterations
Andere mochten auch
Martial arts
Martial arts
Fuqiang Wang
挖财的互联网金融技术实践与探索@upyun opentalk
挖财的互联网金融技术实践与探索@upyun opentalk
Fuqiang Wang
Understanding the Disruptor
Understanding the Disruptor
Trisha Gee
米聊服务器技术选型与架构
米聊服务器技术选型与架构
Jinping Qu
Scala funbyexample
Scala funbyexample
Fuqiang Wang
Continuations in scala (incomplete version)
Continuations in scala (incomplete version)
Fuqiang Wang
More Than Java Concurrency
More Than Java Concurrency
Fuqiang Wang
我对后端优化的一点想法 (2012)
我对后端优化的一点想法 (2012)
james tong
Architecture patterns and practices
Architecture patterns and practices
Fuqiang Wang
Kafka简介
Kafka简介
Fuqiang Wang
Scala the-good-parts
Scala the-good-parts
Fuqiang Wang
HBase@taobao for 技术沙龙
HBase@taobao for 技术沙龙
bluedavy lin
Taming Java Agents
Taming Java Agents
Anton Arhipov
了解集群
了解集群
Feng Yu
了解内存
了解内存
Feng Yu
了解Cpu
了解Cpu
Feng Yu
Gold investment types introduction
Gold investment types introduction
Fuqiang Wang
Zookeeper In Simple Words
Zookeeper In Simple Words
Fuqiang Wang
Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)
Sander Mak (@Sander_Mak)
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Feng Yu
Andere mochten auch
(20)
Martial arts
Martial arts
挖财的互联网金融技术实践与探索@upyun opentalk
挖财的互联网金融技术实践与探索@upyun opentalk
Understanding the Disruptor
Understanding the Disruptor
米聊服务器技术选型与架构
米聊服务器技术选型与架构
Scala funbyexample
Scala funbyexample
Continuations in scala (incomplete version)
Continuations in scala (incomplete version)
More Than Java Concurrency
More Than Java Concurrency
我对后端优化的一点想法 (2012)
我对后端优化的一点想法 (2012)
Architecture patterns and practices
Architecture patterns and practices
Kafka简介
Kafka简介
Scala the-good-parts
Scala the-good-parts
HBase@taobao for 技术沙龙
HBase@taobao for 技术沙龙
Taming Java Agents
Taming Java Agents
了解集群
了解集群
了解内存
了解内存
了解Cpu
了解Cpu
Gold investment types introduction
Gold investment types introduction
Zookeeper In Simple Words
Zookeeper In Simple Words
Fork Join (BeJUG 2012)
Fork Join (BeJUG 2012)
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Ähnlich wie Concurrency on the JVM
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Jonas Bonér
Pragmatic Real-World Scala
Pragmatic Real-World Scala
parag978978
Tools for Making Machine Learning more Reactive
Tools for Making Machine Learning more Reactive
Jeff Smith
Gpars concepts explained
Gpars concepts explained
Vaclav Pech
Think Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJS
Adam L Barrett
Akka tips
Akka tips
Raymond Roestenburg
Scalaz 8 vs Akka Actors
Scalaz 8 vs Akka Actors
John De Goes
Столпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай Мозговой
Sigma Software
AST Transformations at JFokus
AST Transformations at JFokus
HamletDRC
2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests
Tomek Kaczanowski
What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)
Pavlo Baron
Expert JavaScript tricks of the masters
Expert JavaScript tricks of the masters
Ara Pehlivanian
Akka
Akka
Tim Dalton
Introduction to Scala
Introduction to Scala
Raúl Raja Martínez
SDC - Einführung in Scala
SDC - Einführung in Scala
Christian Baranowski
Unfiltered Unveiled
Unfiltered Unveiled
Wilfred Springer
Lambdas puzzler - Peter Lawrey
Lambdas puzzler - Peter Lawrey
JAXLondon_Conference
Nantes Jug - Java 7
Nantes Jug - Java 7
Sébastien Prunier
Working effectively with legacy code
Working effectively with legacy code
ShriKant Vashishtha
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Hiroshi Ono
Ähnlich wie Concurrency on the JVM
(20)
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala (short version)
Pragmatic Real-World Scala
Pragmatic Real-World Scala
Tools for Making Machine Learning more Reactive
Tools for Making Machine Learning more Reactive
Gpars concepts explained
Gpars concepts explained
Think Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJS
Akka tips
Akka tips
Scalaz 8 vs Akka Actors
Scalaz 8 vs Akka Actors
Столпы функционального программирования для адептов ООП, Николай Мозговой
Столпы функционального программирования для адептов ООП, Николай Мозговой
AST Transformations at JFokus
AST Transformations at JFokus
2012 JDays Bad Tests Good Tests
2012 JDays Bad Tests Good Tests
What can be done with Java, but should better be done with Erlang (@pavlobaron)
What can be done with Java, but should better be done with Erlang (@pavlobaron)
Expert JavaScript tricks of the masters
Expert JavaScript tricks of the masters
Akka
Akka
Introduction to Scala
Introduction to Scala
SDC - Einführung in Scala
SDC - Einführung in Scala
Unfiltered Unveiled
Unfiltered Unveiled
Lambdas puzzler - Peter Lawrey
Lambdas puzzler - Peter Lawrey
Nantes Jug - Java 7
Nantes Jug - Java 7
Working effectively with legacy code
Working effectively with legacy code
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
Mehr von 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
Mehr von 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
Kürzlich hochgeladen
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
apidays
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Zilliz
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
apidays
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Jeffrey Haguewood
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
apidays
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
rafiqahmad00786416
Kürzlich hochgeladen
(20)
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
Concurrency on the JVM
1.
2.
3.
Concurrency enthusiast
4.
GPars @ Codehaus
lead
5.
Technology evangelist @
JetBrains
6.
7.
8.
for(int i :
collection) sum += i;
9.
10.
11.
Live-locks
12.
Race conditions
13.
Starvation
14.
Shared Mutable State
15.
16.
17.
18.
19.
20.
21.
22.
23.
Tree traversal
24.
File scan /
search
25.
26.
27.
28.
29.
30.
No live-locks
31.
32.
33.
34.
df .y =
5
35.
}
36.
assert 15 ==
df .z
37.
38.
Fork/Join
39.
Parallel collection processing
40.
Dataflow variables/streams
41.
Message Passing Communicating
Sequential Processes (CSP) Dataflow Operators Actors
42.
43.
44.
45.
Send a message
46.
47.
48.
49.
50.
51.
case b:Breakfast=>
52.
b.eat
53.
54.
...
55.
} }
} }
56.
me !
cake
57.
58.
case b:Breakfast=>
59.
b.eat
60.
61.
...
62.
} }
} }
63.
me !
cake
64.
65.
66.
public void onMessage(String
msg ) {
67.
String encripted
= encrypt( msg );
68.
reply( encripted );
69.
}
70.
public void onMessage(Integer
number ) {
71.
reply(2 *
number );
72.
}
73.
public void onMessage(Money
cash ) {
74.
System.out.println( "Received a
donation " + cash );
75.
account .deposit( cash
);
76.
}
77.
}
78.
79.
80.
81.
…
82.
83.
Software Transactional Memory
84.
Locks
85.
86.
87.
88.
89.
90.
91.
92.
Jon Kerridge, Napier
University
93.
94.
Multiverse, Jetlang, Kilim,
Actorom, ActorFoundry, ...
95.
96.
97.
98.
http://www.jroller.com/vaclav
99.
http://twitter.com/vaclav_pech
Jetzt herunterladen