Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ต.ค. 2024
  • Slides: github.com/boo...
    CppNow Website: www.cppnow.org​
    CppNow Twitter: @CppNow​
    ---
    Concurrency in C++: A Programmer’s Overview (part 1 of 2) - Fedor Pikus - CppNow 2022
    This talk is an overview of the C++ facilities for concurrent programming across different standard versions, from C++11 to C++20. C++11 was the first concurrency-aware C++ standard, and we will see what we got, what works, what sort of works, and what should be flat out avoided. The focus of the talk is on using C++ concurrency for maximum performance, and the presentation is illustrated by live benchmarks. We will learn about the memory model in C++ and why it matters, then study thread-safety guarantees provided by the language and the standard libraries and how to provide similar guarantees in your own code. Next, we will review the basic primitives of concurrency in C++: locks, barriers, conditions, atomics, and facilities for lock-free programming, as well as how (and what for) to use them in your concurrent programs. We will explore parallel algorithms and benchmark their performance, then see what the C++20 coroutines are all about. We will conclude with a brief review of the concurrency features that may be coming our way in C++23.
    Fedor Pikus
    Fedor G Pikus is a Technical Fellow and head of the Advanced Projects Team in the Siemens Digital Industries Software. His earlier positions included a Senior Software Engineer at Google and a Chief Scientist at Mentor Graphics (acquired by Siemens Software). He joined Mentor Graphics in 1998 when he made a switch from academic research in computational physics to the software industry. His responsibilities as a Technical Fellow include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, design, and architecture of the software, and research in new design and software technologies. Fedor has over 25 patents and over 100 papers and conference presentations on physics, EDA, software design, and C++ language.
    ---
    Videos Filmed & Edited By Bash Films bashfilms.com/
    TH-cam Channel Managed By Digital Medium Ltd: events.digital...
    #Boost​ #Cpp​ #CppNow​
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 14

  • @simonfarre4907
    @simonfarre4907 2 ปีที่แล้ว +19

    I personally always love Fedor's talks. Always jam packed with stuff and also engaging for me, because they always has (at least some) code. I am one of those who like code examples in talks.

  • @theintjengineer
    @theintjengineer ปีที่แล้ว +4

    It's incredible the amount of Top Talents Siemens has.
    Nice talk, Sir.

  • @rolandinnamorato1953
    @rolandinnamorato1953 ปีที่แล้ว +5

    Fedor delivers great talks.

  • @chmod0644
    @chmod0644 ปีที่แล้ว +1

    Very useful overview of threading primitives and memory model

  • @Carlos.USA88
    @Carlos.USA88 9 หลายเดือนก่อน

    I really enjoy Fedor's delivery

  • @videofountain
    @videofountain 2 ปีที่แล้ว +1

    Thanks. Interesting talk.

    • @BoostCon
      @BoostCon  2 ปีที่แล้ว +1

      Glad you enjoyed it

  • @ChefSalad
    @ChefSalad 11 วันที่ผ่านมา

    I wonder what would happen if you declared a global thread_local thread object. Like
    thread_local std::jthread k([]{int i; while (true) i++; return;};
    Would create infinite threads of busywaiting?

  • @ethernel
    @ethernel ปีที่แล้ว

    Really interesting information !

    • @BoostCon
      @BoostCon  ปีที่แล้ว +1

      Pleased to hear that you found this presentation of interest.

  • @GeorgeTsiros
    @GeorgeTsiros 2 ปีที่แล้ว +4

    password: universe

  • @qwertyuiop-cu2ve
    @qwertyuiop-cu2ve ปีที่แล้ว

    Is there something like a cond wait without mutex? If I'm not dealing with shared data that needs protection, but it's just about timing. Thread A waits, thread B knows when A should wake up and unblocks A's wait.

    • @mytech6779
      @mytech6779 10 หลายเดือนก่อน

      std::promise and std::future wait() or wait_for(time)] will get you close. Details of the situation matter though.

  • @aniketbisht2823
    @aniketbisht2823 2 ปีที่แล้ว

    👍