SlideShare a Scribd company logo
1 of 62
C++ 20
Features of the Modern C++ 20
© 2019 Andrei Novikov 1
Agenda
• Coroutines
• Concepts and constraints
• Multithreading
© 2019 Andrei Novikov 2
Coroutines
© 2019 Andrei Novikov 3
Coroutines in C++
In C++ 20, coroutines are stackless: they suspend execution by
returning to the caller and the data that is required to resume
execution is stored separately from the stack.
A function is coroutine if its definition consists of any of the following:
• co_await
• co_yield
• co_return
© 2019 Andrei Novikov 4
co_yield
© 2019 Andrei Novikov 5
Number generator – co_yield
© 2019 Andrei Novikov 6
Number generator – co_yield
© 2019 Andrei Novikov 7
Number generator – co_yield
Output:
The coroutine int_generator creates an infinite data stream.
0 1 2 3 4 5 6 7 8 9
© 2019 Andrei Novikov 8
Fibonacci generator using co_yield
© 2019 Andrei Novikov 9
Fibonacci generator using co_yield
© 2019 Andrei Novikov 10
Fibonacci generator using co_yield
Output:
0 1 1 2 3 5 8 13 21 34
© 2019 Andrei Novikov 11
Sequence range – co_yeild
© 2019 Andrei Novikov 12
Sequence range – co_yeild
© 2019 Andrei Novikov 13
Sequence range – co_yeild
Output:
10 11 12 13 14
© 2019 Andrei Novikov 14
co_await
© 2019 Andrei Novikov 15
Disclaimer: slightly more complex
© 2019 Andrei Novikov 16
Producer Consumer – co_await
© 2019 Andrei Novikov 17
Producer Consumer – co_await
No need to suspend at the beginning or at the end
© 2019 Andrei Novikov 18
Producer Consumer – co_await
Have to provide interface resumable interface
© 2019 Andrei Novikov 19
Producer Consumer – co_await
Not going to control it via resumable interface
© 2019 Andrei Novikov 20
Producer Consumer – co_await
Event that is used to organize communication
between producer and consumer
© 2019 Andrei Novikov 21
Producer Consumer – co_await
Producer uses set() to resume consumer
© 2019 Andrei Novikov 22
Producer Consumer – co_await
Consumer uses this operator to wait for
producer (suspend state)
© 2019 Andrei Novikov 23
Producer Consumer – co_await
Describe behavior of Consumer
© 2019 Andrei Novikov 24
Producer Consumer – co_await
Consumer stores pointer to awaiter
to be resumed by Producer
© 2019 Andrei Novikov 25
Producer Consumer – co_await
Producer uses awaiter to resume Consumer
© 2019 Andrei Novikov 26
Producer Consumer – co_await
Product that is produced by Producer
© 2019 Andrei Novikov 27
Producer Consumer – co_await
Event to suspend and resume Consumer
© 2019 Andrei Novikov 28
Producer Consumer – co_await
Producer’s thread
© 2019 Andrei Novikov 29
Producer Consumer – co_await
Simulate long work to produce 1000
© 2019 Andrei Novikov 30
Producer Consumer – co_await
Resume Consumer by the event
© 2019 Andrei Novikov 31
Producer Consumer – co_await
Consumer’s coroutine
© 2019 Andrei Novikov 32
Producer Consumer – co_await
Suspend Consumer until product
is ready
© 2019 Andrei Novikov 33
Producer Consumer – co_await
Run Producer and Consumer
© 2019 Andrei Novikov 34
Producer Consumer – co_await
Producer: Spend some time to produce a product.
Consumer: Wait for a product.
Main Thread: Consumer’s task is in progress.
Consumer: Product is consumed (value: 1000).
Producer: Product is produced.
Output of the program
© 2019 Andrei Novikov 35
Constraints and
Concepts
© 2019 Andrei Novikov 36
Constraints and concepts
A concept is a named set of requirements.
© 2019 Andrei Novikov 37
Constraints and concepts
A concept is a named set of requirements.
Requirement to have a ‘size()’ method
© 2019 Andrei Novikov 38
Constraints and concepts
A concept is a named set of requirements.
Concept usage
© 2019 Andrei Novikov 39
Constraints and concepts
A concept is a named set of requirements.
Client code example
© 2019 Andrei Novikov 40
Constraints and concepts
A concept is a named set of requirements.
Compilation error
© 2019 Andrei Novikov 41
Constraints and concepts – Euclidean metric
© 2019 Andrei Novikov 42
Constraints and concepts – Euclidean metric
© 2019 Andrei Novikov 43
Constraints and concepts – Euclidean metric
© 2019 Andrei Novikov 44
Constraints and concepts – Euclidean metric
© 2019 Andrei Novikov 45
Constraints and concepts – Euclidean metric
© 2019 Andrei Novikov 46
Constraints and concepts – Euclidean metric
Requirements for input
containers
© 2019 Andrei Novikov 47
Multithreading
© 2019 Andrei Novikov 48
Multithreading
std::jthread – auto-joinable thread.
© 2019 Andrei Novikov 49
Multithreading
std::jthread – auto-joinable thread. Let’s take a look at the example:
© 2019 Andrei Novikov 50
Multithreading
std::jthread – auto-joinable thread. Let’s take a look at the example:
terminate called without an active exception
I am a C++ thread.
Aborted (core dumped)
© 2019 Andrei Novikov 51
Multithreading
std::jthread – auto-joinable thread. Let’s take a look at the example:
terminate called without an active exception
I am a C++ thread.
Aborted (core dumped) Rewrite using std::jthread
© 2019 Andrei Novikov 52
Multithreading – std::jthread
std::jthread – auto-joinable thread. Let’s take a look at the example:
terminate called without an active exception
I am a C++ thread.
Aborted (core dumped)
Auto-joinable behaviorI am a C++ thread.
© 2019 Andrei Novikov 53
Multithreading – std::jthread
std::jthread – interruptible thread.
© 2019 Andrei Novikov 54
Multithreading – std::jthread
std::jthread – interruptible thread.
Alive during 5 seconds
© 2019 Andrei Novikov 55
Multithreading – std::jthread
std::jthread – interruptible thread.
Interrupt after 1 second
© 2019 Andrei Novikov 56
Multithreading – std::jthread
std::jthread – interruptible thread.
0 sec.: I am still exist.
Main Thread: interrupt jthread.
1 sec.: I am still exist.
2 sec.: I am still exist.
3 sec.: I am still exist.
4 sec.: I am still exist.
Actual output
© 2019 Andrei Novikov 57
Multithreading – std::jthread
© 2019 Andrei Novikov 58
Multithreading – std::jthread
© 2019 Andrei Novikov 59
Multithreading – std::jthread
Check for stop request
Stop token is required to handle requests
© 2019 Andrei Novikov 60
Send stop signal to the thread
Multithreading – std::jthread
0 sec.: I am still exist.
Main Thread: interrupt jthread.
Exit by request.
Thread is terminated after
1 second
© 2019 Andrei Novikov 61
Thank you!
Enjoy C++ 20!
© 2019 Andrei Novikov 62

More Related Content

What's hot

The Lambda Calculus and The JavaScript
The Lambda Calculus and The JavaScriptThe Lambda Calculus and The JavaScript
The Lambda Calculus and The JavaScriptNorman Richards
 
Parallel convolutional neural network
Parallel  convolutional neural networkParallel  convolutional neural network
Parallel convolutional neural networkAbdullah Khan Zehady
 
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and DevelopmentBeyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and DevelopmentZach Pfeffer
 
Gradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learnGradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learnDataRobot
 
Topic 1.4: Randomized Algorithms
Topic 1.4: Randomized AlgorithmsTopic 1.4: Randomized Algorithms
Topic 1.4: Randomized AlgorithmsKM Bappi
 
Formulario integrali proprietà e alcuni integrali particolari (mia)
Formulario integrali   proprietà e alcuni integrali particolari (mia)Formulario integrali   proprietà e alcuni integrali particolari (mia)
Formulario integrali proprietà e alcuni integrali particolari (mia)Domenico Tafuni
 
Accelerated Linux Core Dump Analysis training public slides
Accelerated Linux Core Dump Analysis training public slidesAccelerated Linux Core Dump Analysis training public slides
Accelerated Linux Core Dump Analysis training public slidesDmitry Vostokov
 
Instruction Combine in LLVM
Instruction Combine in LLVMInstruction Combine in LLVM
Instruction Combine in LLVMWang Hsiangkai
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)WON JOON YOO
 
Evolution of programming language
Evolution of programming languageEvolution of programming language
Evolution of programming languageSameer Saini
 
Slideshare - linux crypto
Slideshare - linux cryptoSlideshare - linux crypto
Slideshare - linux cryptoJin Wu
 
C programming interview questions
C programming interview questionsC programming interview questions
C programming interview questionsadarshynl
 
Mask-RCNN for Instance Segmentation
Mask-RCNN for Instance SegmentationMask-RCNN for Instance Segmentation
Mask-RCNN for Instance SegmentationDat Nguyen
 

What's hot (20)

The Lambda Calculus and The JavaScript
The Lambda Calculus and The JavaScriptThe Lambda Calculus and The JavaScript
The Lambda Calculus and The JavaScript
 
Parallel convolutional neural network
Parallel  convolutional neural networkParallel  convolutional neural network
Parallel convolutional neural network
 
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and DevelopmentBeyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
 
LLVM introduction
LLVM introductionLLVM introduction
LLVM introduction
 
SYCL 2020 Specification
SYCL 2020 SpecificationSYCL 2020 Specification
SYCL 2020 Specification
 
Kernel Pool
Kernel PoolKernel Pool
Kernel Pool
 
Gradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learnGradient Boosted Regression Trees in scikit-learn
Gradient Boosted Regression Trees in scikit-learn
 
Topic 1.4: Randomized Algorithms
Topic 1.4: Randomized AlgorithmsTopic 1.4: Randomized Algorithms
Topic 1.4: Randomized Algorithms
 
Formulario integrali proprietà e alcuni integrali particolari (mia)
Formulario integrali   proprietà e alcuni integrali particolari (mia)Formulario integrali   proprietà e alcuni integrali particolari (mia)
Formulario integrali proprietà e alcuni integrali particolari (mia)
 
Accelerated Linux Core Dump Analysis training public slides
Accelerated Linux Core Dump Analysis training public slidesAccelerated Linux Core Dump Analysis training public slides
Accelerated Linux Core Dump Analysis training public slides
 
Approximation Algorithms
Approximation AlgorithmsApproximation Algorithms
Approximation Algorithms
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
Instruction Combine in LLVM
Instruction Combine in LLVMInstruction Combine in LLVM
Instruction Combine in LLVM
 
from Source to Binary: How GNU Toolchain Works
from Source to Binary: How GNU Toolchain Worksfrom Source to Binary: How GNU Toolchain Works
from Source to Binary: How GNU Toolchain Works
 
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
Evolution of programming language
Evolution of programming languageEvolution of programming language
Evolution of programming language
 
Slideshare - linux crypto
Slideshare - linux cryptoSlideshare - linux crypto
Slideshare - linux crypto
 
C programming interview questions
C programming interview questionsC programming interview questions
C programming interview questions
 
Mask-RCNN for Instance Segmentation
Mask-RCNN for Instance SegmentationMask-RCNN for Instance Segmentation
Mask-RCNN for Instance Segmentation
 
Ha nam
Ha namHa nam
Ha nam
 

Similar to C++20 Features Coroutines Concepts Multithreading

Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureMarcin Grzejszczak
 
Cloud native past, present and future, Accenture Technology Workshop, IL
Cloud native past, present and future, Accenture Technology Workshop, ILCloud native past, present and future, Accenture Technology Workshop, IL
Cloud native past, present and future, Accenture Technology Workshop, ILCheryl Hung
 
Deep-dive into Reactive programming.pdf
Deep-dive into Reactive programming.pdfDeep-dive into Reactive programming.pdf
Deep-dive into Reactive programming.pdfKumar Iyer
 
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdfQuebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdfprune1
 
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.orgEdge AI and Vision Alliance
 
Cover Your Apps While Still Using npm
Cover Your Apps While Still Using npmCover Your Apps While Still Using npm
Cover Your Apps While Still Using npmTierney Cyren
 
New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019
New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019
New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019corehard_by
 
CFD Lecture (1/8): ZNTutor CFD- An Introduction
CFD Lecture (1/8): ZNTutor CFD- An IntroductionCFD Lecture (1/8): ZNTutor CFD- An Introduction
CFD Lecture (1/8): ZNTutor CFD- An IntroductionAbhishek Jain
 
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Daniel Krook
 
Ensure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven ContractsEnsure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven ContractsIngo Griebsch
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceVMware Tanzu
 
MEP Designing and Drafting Sylabus
MEP Designing and Drafting SylabusMEP Designing and Drafting Sylabus
MEP Designing and Drafting SylabusGide India
 
Cloud native past, present and future
Cloud native past, present and futureCloud native past, present and future
Cloud native past, present and futureCheryl Hung
 
Trucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4jTrucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4jNeo4j
 
Master Real-Time Streams With Neo4j and Apache Kafka
Master Real-Time Streams With Neo4j and Apache KafkaMaster Real-Time Streams With Neo4j and Apache Kafka
Master Real-Time Streams With Neo4j and Apache KafkaNeo4j
 
Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...AllSeen Alliance
 
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...InfluxData
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonLeon Stigter
 
01. lab instructions starting project
01. lab instructions   starting project01. lab instructions   starting project
01. lab instructions starting projectrajul14
 
Investigating Business Models for Building Integrated Photovoltaics (BIPV)
Investigating Business Models for Building Integrated Photovoltaics (BIPV)Investigating Business Models for Building Integrated Photovoltaics (BIPV)
Investigating Business Models for Building Integrated Photovoltaics (BIPV)Leonardo ENERGY
 

Similar to C++20 Features Coroutines Concepts Multithreading (20)

Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice Architecture
 
Cloud native past, present and future, Accenture Technology Workshop, IL
Cloud native past, present and future, Accenture Technology Workshop, ILCloud native past, present and future, Accenture Technology Workshop, IL
Cloud native past, present and future, Accenture Technology Workshop, IL
 
Deep-dive into Reactive programming.pdf
Deep-dive into Reactive programming.pdfDeep-dive into Reactive programming.pdf
Deep-dive into Reactive programming.pdf
 
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdfQuebec - 16 November 2022 - Canada CNCF Meetups.pdf
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
 
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
"OpenCV: Current Status and Future Plans," a Presentation from OpenCV.org
 
Cover Your Apps While Still Using npm
Cover Your Apps While Still Using npmCover Your Apps While Still Using npm
Cover Your Apps While Still Using npm
 
New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019
New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019
New C++ features for writing DSLs . Ivan Čukić. CoreHard Spring 2019
 
CFD Lecture (1/8): ZNTutor CFD- An Introduction
CFD Lecture (1/8): ZNTutor CFD- An IntroductionCFD Lecture (1/8): ZNTutor CFD- An Introduction
CFD Lecture (1/8): ZNTutor CFD- An Introduction
 
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
 
Ensure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven ContractsEnsure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven Contracts
 
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
 
MEP Designing and Drafting Sylabus
MEP Designing and Drafting SylabusMEP Designing and Drafting Sylabus
MEP Designing and Drafting Sylabus
 
Cloud native past, present and future
Cloud native past, present and futureCloud native past, present and future
Cloud native past, present and future
 
Trucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4jTrucks on a Graph: How JB Hunt Uses Neo4j
Trucks on a Graph: How JB Hunt Uses Neo4j
 
Master Real-Time Streams With Neo4j and Apache Kafka
Master Real-Time Streams With Neo4j and Apache KafkaMaster Real-Time Streams With Neo4j and Apache Kafka
Master Real-Time Streams With Neo4j and Apache Kafka
 
Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...Standards and Interoperability: Creating a whole that is bigger than the sum ...
Standards and Interoperability: Creating a whole that is bigger than the sum ...
 
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...
Brian Gilmore [InfluxData] | InfluxDB in an IoT Application Architecture | In...
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and Tekton
 
01. lab instructions starting project
01. lab instructions   starting project01. lab instructions   starting project
01. lab instructions starting project
 
Investigating Business Models for Building Integrated Photovoltaics (BIPV)
Investigating Business Models for Building Integrated Photovoltaics (BIPV)Investigating Business Models for Building Integrated Photovoltaics (BIPV)
Investigating Business Models for Building Integrated Photovoltaics (BIPV)
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

C++20 Features Coroutines Concepts Multithreading