SlideShare uma empresa Scribd logo
1 de 102
Baixar para ler offline
Concurrent Programming Using The
               Disruptor
                       Trisha Gee
                          LMAX




Wednesday, 23 May 12
Concurrent Programming
                         Using The Disruptor
                           Trisha Gee, Developer at LMAX
                                      @trisha_gee
                                  mechanitis.blogspot.com




Wednesday, 23 May 12
The Disruptor?




Wednesday, 23 May 12
What I’m covering

                   • Overview of the Disruptor
                   • Create your own!
                   • Turn it up to Eleven
                   • Q&A

Wednesday, 23 May 12
What is it?

                 • Data structure and work flow with no
                       contention.
                 • Very fast message passing.
                 • Allows you to go truly parallel.


Wednesday, 23 May 12
So...?



Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
The Magic RingBuffer




Wednesday, 23 May 12
Creating a RingBuffer

            final RingBuffer<SimpleEvent> ringBuffer =
                new RingBuffer<SimpleEvent>(SimpleEvent.EVENT_FACTORY,
                                            RING_BUFFER_SIZE);




Wednesday, 23 May 12
The Events are Buckets




Wednesday, 23 May 12
Great! I want one!
 public class SimpleEvent {
     public static final EventFactory<SimpleEvent> EVENT_FACTORY =
         new SimpleEventFactory();

        private volatile String value;


        private static class SimpleEventFactory implements EventFactory<SimpleEvent> {
            @Override
            public SimpleEvent newInstance() {
                return new SimpleEvent();
            }
        }
 }




Wednesday, 23 May 12
I’ve got a RingBuffer!


                   • Erm.... how do I poke things into it?



Wednesday, 23 May 12
The Publisher




Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
What do I do?
  public class SimpleEventTranslator implements
      EventTranslator<SimpleEvent>




SimpleEventTranslator translator = new SimpleEventTranslator();

EventPublisher<SimpleEvent> publisher =
    new EventPublisher<SimpleEvent>(ringBuffer);

// poke your translator here
// ...and when you’re done...
publisher.publishEvent(translator);


Wednesday, 23 May 12
...so now I want to read


                   • The Disruptor provides nice batching
                       behaviour for free




Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
...and all you need is...

 public class SimpleEventHandler implements EventHandler<SimpleEvent>
 {

          @Override
          public void onEvent(final SimpleEvent event,
                              final long sequence,
                              final boolean endOfBatch) throws Exception {
              // do stuff
          }
 }




Wednesday, 23 May 12
Shiny. So what?



Wednesday, 23 May 12
Let’s go parallel




Wednesday, 23 May 12
And now for something
                     different...


Wednesday, 23 May 12
Remember Henry
                           Ford?




Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Complex workflow...




Wednesday, 23 May 12
What on Earth has this
                    got to do with
                     RingBuffers?!


Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Wednesday, 23 May 12
Don’t wrap the buffer!

       ringBuffer.setGatingSequences(finalEventProcessor.getSequence());




Wednesday, 23 May 12
Caveats



Wednesday, 23 May 12
Is that it?
                   • Wait and claim strategies
                   • Batch publishing
                   • Multiple publishers
                   • Different EventHandlers
                   • The Wizard
                   • You don’t even need a RingBuffer...
Wednesday, 23 May 12
You get...
                   • A framework the encourages you to model
                       your domain
                   • The ability to run in parallel but single-
                       threaded
                   • Reliable ordering
                   • ...and it can be very fast

Wednesday, 23 May 12
More Information

                   • Google Code Site, including Wiki
                       http://code.google.com/p/disruptor/
                   • Blogs, e.g. mine: mechanitis.blogspot.com
                   • Presentations
                   • Google Group

Wednesday, 23 May 12
Q&A



Wednesday, 23 May 12
WorkerPool




Wednesday, 23 May 12
AggregateEventHandler




Wednesday, 23 May 12
WaitStrategies

                   • BlockingWaitStrategy
                   • BusySpinWaitStrategy
                   • SleepingWaitStrategy
                   • YieldingWaitStrategy

Wednesday, 23 May 12
ClaimStrategies

                   • SingleThreadedClaimStrategy
                   • MultiThreadedClaimStrategy
                   • MultiThreadedLowContentionClaimStrategy


Wednesday, 23 May 12

Mais conteúdo relacionado

Semelhante a Concurrent Programming Using The Disruptor - Copenhagen

Usability Testing Plans
Usability Testing PlansUsability Testing Plans
Usability Testing PlansKrista Kennedy
 
Pivoting An African Open Source Project
Pivoting An African Open Source ProjectPivoting An African Open Source Project
Pivoting An African Open Source ProjectUshahidi
 
Mutants vs Designers
Mutants vs DesignersMutants vs Designers
Mutants vs Designersixdaseattle
 
Mobile has changed everything
Mobile has changed everythingMobile has changed everything
Mobile has changed everythingShawn Smith
 
Strategy for a successful WordPress project
Strategy for a successful WordPress projectStrategy for a successful WordPress project
Strategy for a successful WordPress projectWes Chyrchel
 
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...Ernie Hsiung
 
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)Kevin Conboy
 
Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?Maximiliano Firtman
 

Semelhante a Concurrent Programming Using The Disruptor - Copenhagen (10)

Usability Testing Plans
Usability Testing PlansUsability Testing Plans
Usability Testing Plans
 
Pivoting An African Open Source Project
Pivoting An African Open Source ProjectPivoting An African Open Source Project
Pivoting An African Open Source Project
 
Mutants vs Designers
Mutants vs DesignersMutants vs Designers
Mutants vs Designers
 
Mobile has changed everything
Mobile has changed everythingMobile has changed everything
Mobile has changed everything
 
WCSD-UI
WCSD-UIWCSD-UI
WCSD-UI
 
Strategy for a successful WordPress project
Strategy for a successful WordPress projectStrategy for a successful WordPress project
Strategy for a successful WordPress project
 
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
The Kitchen Sink Talk (Importing, Exporting, Customization & Troubleshooting ...
 
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
Designing for WordPress: Rethinking the Blank Canvas (WCSD edition)
 
Start upandagile final
Start upandagile finalStart upandagile final
Start upandagile final
 
Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?Tucuman valley Desarrollo Mobile, nativo o HTML5?
Tucuman valley Desarrollo Mobile, nativo o HTML5?
 

Mais de Trisha Gee

Career Advice for Architects
Career Advice for Architects Career Advice for Architects
Career Advice for Architects Trisha Gee
 
Is boilerplate code really so bad?
Is boilerplate code really so bad?Is boilerplate code really so bad?
Is boilerplate code really so bad?Trisha Gee
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best PracticesTrisha Gee
 
Career Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET LondonCareer Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET LondonTrisha Gee
 
Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?Trisha Gee
 
Real World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarReal World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarTrisha Gee
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9Trisha Gee
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9Trisha Gee
 
Career Advice for Programmers
Career Advice for Programmers Career Advice for Programmers
Career Advice for Programmers Trisha Gee
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9Trisha Gee
 
Becoming fully buzzword compliant
Becoming fully buzzword compliantBecoming fully buzzword compliant
Becoming fully buzzword compliantTrisha Gee
 
Java 9 Functionality and Tooling
Java 9 Functionality and ToolingJava 9 Functionality and Tooling
Java 9 Functionality and ToolingTrisha Gee
 
Java 8 and 9 in Anger
Java 8 and 9 in AngerJava 8 and 9 in Anger
Java 8 and 9 in AngerTrisha Gee
 
Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)Trisha Gee
 
Migrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from EclipseMigrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from EclipseTrisha Gee
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and MannersTrisha Gee
 
Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)Trisha Gee
 
Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)Trisha Gee
 
Staying Ahead of the Curve
Staying Ahead of the CurveStaying Ahead of the Curve
Staying Ahead of the CurveTrisha Gee
 
Level Up Your Automated Tests
Level Up Your Automated TestsLevel Up Your Automated Tests
Level Up Your Automated TestsTrisha Gee
 

Mais de Trisha Gee (20)

Career Advice for Architects
Career Advice for Architects Career Advice for Architects
Career Advice for Architects
 
Is boilerplate code really so bad?
Is boilerplate code really so bad?Is boilerplate code really so bad?
Is boilerplate code really so bad?
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
 
Career Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET LondonCareer Advice for Programmers - ProgNET London
Career Advice for Programmers - ProgNET London
 
Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?Is Boilerplate Code Really So Bad?
Is Boilerplate Code Really So Bad?
 
Real World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains WebinarReal World Java 9 - JetBrains Webinar
Real World Java 9 - JetBrains Webinar
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
 
Career Advice for Programmers
Career Advice for Programmers Career Advice for Programmers
Career Advice for Programmers
 
Real World Java 9
Real World Java 9Real World Java 9
Real World Java 9
 
Becoming fully buzzword compliant
Becoming fully buzzword compliantBecoming fully buzzword compliant
Becoming fully buzzword compliant
 
Java 9 Functionality and Tooling
Java 9 Functionality and ToolingJava 9 Functionality and Tooling
Java 9 Functionality and Tooling
 
Java 8 and 9 in Anger
Java 8 and 9 in AngerJava 8 and 9 in Anger
Java 8 and 9 in Anger
 
Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)Refactoring to Java 8 (Devoxx BE)
Refactoring to Java 8 (Devoxx BE)
 
Migrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from EclipseMigrating to IntelliJ IDEA from Eclipse
Migrating to IntelliJ IDEA from Eclipse
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
 
Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)Refactoring to Java 8 (QCon New York)
Refactoring to Java 8 (QCon New York)
 
Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)Refactoring to Java 8 (Devoxx UK)
Refactoring to Java 8 (Devoxx UK)
 
Staying Ahead of the Curve
Staying Ahead of the CurveStaying Ahead of the Curve
Staying Ahead of the Curve
 
Level Up Your Automated Tests
Level Up Your Automated TestsLevel Up Your Automated Tests
Level Up Your Automated Tests
 

Último

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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 Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Concurrent Programming Using The Disruptor - Copenhagen