Build your first multithreaded application - Introduction to multithreading in modern C++

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

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

  • @CodeBeauty
    @CodeBeauty  3 ปีที่แล้ว +42

    📚 Learn how to solve problems and build projects with these Free E-Books ⬇️
    C++ Lambdas e-book - free download here: bit.ly/freeCppE-Book
    Entire Object-Pascal step-by-step guide - free download here: bit.ly/FreeObjectPascalEbook
    🚀📈💻🔥 My Practical Programming Course: www.codebeautyacademy.com/
    Experience the power of practical learning, gain career-ready skills, and start building real applications!
    This is a step-by-step course designed to take you from beginner to expert in no time!
    💰 Here is a coupon to save 10% on your first payment (CODEBEAUTY_YT10).
    Use it quickly, because it will be available for a limited time.

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

      How did you get spaces in the for-loop at 4:22 ?
      Thanks!

  • @muhammad.hameem
    @muhammad.hameem ปีที่แล้ว +14

    The only youtuber who teaches modern C++ in the best way possible.

  • @patrickmayer9218
    @patrickmayer9218 ปีที่แล้ว +12

    *The syntax for threads is thread threadName(functionName);
    *You are basically giving the thread a function pointer.
    *You need 'system("pause>nul");' rather than 'return 0;' so that your program doesn't have a runtime error.
    *The easiest way to have your thread update every X unit of time is to do:
    using namespace std::chrono_literals;
    using namespace std::this_thread;
    //and then use the sleep_for(time literal);
    Great video!

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

      the system("pause") actually stops the program from closing until the user gives input. To avoid the runtime error call worker1.detach() so that it detaches the function from the thread, then there will be no error when closing the program. system() function also calls commands in the terminal which i just learned. she has another video on this system.pause(). i just put this here because i came looking for answers to this stuff too lol.

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

      @@chopov11 Gotcha, thanks for the additional info :)

  • @sabbirahmed8012
    @sabbirahmed8012 3 ปีที่แล้ว +43

    You're doing great. I went through hundreds of tutorials but none of those taught any practical applications of C++. Building something using a language helps the learning process exciting. I appreciate your effort, ma'am and look forward to seeing a lot more exciting projects soon.

  • @wora1111
    @wora1111 3 ปีที่แล้ว +8

    I am an old programmer that did this kind of thing in 8bit assembler (6800/6809). In order to debug C++ code of younger people I switched to an assembler view. Having said that I have to admit you did a very good explanation, simplifying while explaining all relevant details that I did think of. Good work!

  • @ian_snyder
    @ian_snyder 10 หลายเดือนก่อน +8

    This is the clearest explanation of multithreading I've found, thank you so much!!

    • @CodeBeauty
      @CodeBeauty  7 หลายเดือนก่อน

      You're very welcome!

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

    Dovoljno je samo reći: ODLIČNO! Jako dobro i kristalno jasno objašnjenje. Definitivno se vežem za ovaj kanal. Pozdrav iz Tuzle.

  • @abelashenafi6291
    @abelashenafi6291 ปีที่แล้ว +3

    I actually came to your channel to see how to use multithreading using C++ in Visual Studio IDE. However, the way you described multithreading using the '+' and '-' characters was really "Thinking outside the box". I really liked your perspective. I'll also use your method to teach other people about multithreading as it would really help them visualize multithreading more. Thank you!

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

    Amazing video! I just landed my first C++ software developer job and I am trying to fill the gaps that I had during the interview. You explained it exceptionally. Thank you!

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

      Hey, is it possible to get in touch with you and discuss how you got the job? I would really appreciate it, thanks.

  • @Barzi2001
    @Barzi2001 27 วันที่ผ่านมา

    Your way of exposing is killer. You really explain things such that people can really understand. As someone said, you are the princess of computers. Subscribed!

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

    Hello Saldina. it is great that you are taking the time to bring up these problems, and then explain them to us. Because above all else I want to become a great programmer just like you. So please continue doing what you are doing. I..., We need that knowledge. While you are teaching us these things you are reinforcing what you already know. Thus you gain two benefits: the joy of helping us to become great programmers, and certification that what you think that you know is actually what you know for sure. Thank you, Reggie

  • @dundyd3612
    @dundyd3612 3 ปีที่แล้ว +9

    wow, i was very confused in class when my teacher was explaining this, and now its cristal clear 👏👏👏 brava ❤❤❤

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

    Your videos are getting me through my classes. You deserve more than a few coffees. Thank you!

  • @technicalpublishing8188
    @technicalpublishing8188 2 ปีที่แล้ว +8

    Awesome and mindblowing!! I have never seen such an understandable and clear explanation about multithreading. One senses that you simply know exactly what you are talking about. This is my channel from now on when it comes to C++ and programming in general. Thanks a lot for this brilliant channel!!!

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

    The practical example here was super useful. I definitely find it useful when you explain the problem with certain implementations or techniques, as well. Thank you so much!

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

    Thank you so much for an easy-to-understand tutorial. This example is exactly what I am looking for. I wrote a shortwave receiver control program, but in order to get signal strength readings, the reading loop has to be in a separate thread. Now all I have to do is apply this to a C++/CLI application. It will be somewhat different, but the principle is the same.
    I already wrote the signal strength reading function with an infinite loop like you show. It works, but has to be put in the background.

  • @uccoskun
    @uccoskun 10 หลายเดือนก่อน +1

    It is great to hear some possible real life problems. It helps people to write better program with deeper insight.

    • @CodeBeauty
      @CodeBeauty  7 หลายเดือนก่อน

      👋👋😃

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

    Hi Saldina, around 23:52, when I tested it, it worked fine without #include and #include.

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

      You are probably including the entire std namespace

  • @ordinary_man_84
    @ordinary_man_84 3 หลายเดือนก่อน

    Awesome! With my bad English I understood all in this lesson.
    Saldina explains very clearly.

    • @CodeBeauty
      @CodeBeauty  3 หลายเดือนก่อน

      Thanks, welcome to my channel 🥰

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

    Love your channel! And also, when I saw you have this multithreading video... I got excited!

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

    The best C++ teaching ever

  • @齐峰-l8x
    @齐峰-l8x 2 ปีที่แล้ว +2

    After finish reading cpp primer plus, found this video, really helpful, and this is one of the few videos that I can follow without turning on subtitles. Your voice is really clear and examples are easy to understand. I think you are able to write chapter 18 of cpp primer plus, truly 👍

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

      Hey, is cpp primer a good book for a beginner??

    • @齐峰-l8x
      @齐峰-l8x 2 ปีที่แล้ว

      @@asdomain4503 HELLO! It depends on how you define beginner. If you have absolutely no programming experience, or have no computer related knowledge, I do not recommend you to read this book. This book is more suitable for readers who can write simple programs like "hello world" and are eager to discover what's behind them.

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

      @@齐峰-l8x No, I am not an absolute beginner. I have programming and development experience but my C++ knowledge is quite basic and I wanted to learn about C++ a bit in depth and cover some advance concepts. So is this book a good choice for that??

    • @齐峰-l8x
      @齐峰-l8x 2 ปีที่แล้ว

      @@asdomain4503 If you have a basic understanding of object-oriented and generic programming. Maybe you don't have to read this book. The cpp specification in this book is up to cpp11, which is what other developers often call cpp2.0 or modern cpp. If you want to learn more about the usage of cpp, sorry that I may not be able to give you advice, I am also a beginner.🤯

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

      @@齐峰-l8x got it👍...Thanks for the replies

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

    It should probably be:
    void RefreshForcast(std::map& forecastMap)
    and
    std::thread bgWorker(RefreshForcast, std::ref(forecastMap));
    Other wise I liked your video. 👍

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

    Don't know what to say, but, whoa! Jumping around TH-cam trying to pick up some hidden gems buried in the C++ landscape to help me to become a better C++ programmer. The language is full of features and is continually evolving with the new technologies coming out these days, but this simple example of using threads is cool and will certainly be in my toolbox for any future projects I may have in mind. (The last time I was exposed to threads was in a Unix system and it was overly complicated and probably not worth the trouble of trying to decipher it lol.) Thanks for sharing your time and hope you get millions of views and tons of ad revenue lol 😄👍

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

    You are a great teacher! I've watched almost all of your videos! More Please and keep it up!

  • @SauravKumar-vj7ks
    @SauravKumar-vj7ks 2 ปีที่แล้ว +12

    This was such a mindd blowing video with clear, concise and awesome explanation. Thanks saldina, you're just amazing. And yesss, please continue telling more about the bugs, programming issues with code and software development tips in general. They would be really helpful. Btw just one small suggestion, please make a video on asynchronous programming with modern C++. Keep up the great content. 👍

  • @papiermuecke7626
    @papiermuecke7626 3 ปีที่แล้ว +6

    21:20 Chorono Literals 🤣😆 Thank you saldina for that great video! I just learn so much of your videos, more than i could learn in the entire internet. Keep going!!!

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

    You are an astounding teacher, thank you very much!

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

    When I saw CodeBeauty, I thought: Here's another stupid "How to write beautifully formatted code" video .... But when I watched some of your tutorials, I was blown away .... Excellent work and excellent presentation

  • @amit6k
    @amit6k 2 ปีที่แล้ว +17

    Hi Saldina,
    Thanks for the video.
    I tried to execute the example you have shown with VSCode, the compiler used was Clang++ together forming an IDE that is different to visual studio.
    Here is what you miss at the end:
    worker1.join()
    worker2.join()
    Above to statementst are essential to my IDE because, without them, the execution control just spawns the threads and exits. Therefore, i cannot see the results.
    Instead the join operator tells the execution control to wait until the worker1 and worker2 is completed. By this way you overcome the dependency on the visual studio IDE.

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

      thanks....this solved my problem too.

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

    Looking forward to more concepts in multithreading. Thanks for this neat description.

  • @elprofesor6156
    @elprofesor6156 3 ปีที่แล้ว +17

    Eagerly waiting🎉 and kindly do upload more topics of DATA STRUCTURES🧑‍💻. It will be very helpful❤️😊

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

    Such a great video i ever seen about multi-thread.
    I love this.
    Thank you very much, Saldina

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

    This video was totally awesome! It really helped me understand the aspects of multi-threading, and how to properly implement it. Will help with my engineering degree for sure!

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

    Great video. I tried the first example using Linux and gcc and had some trouble, since I had to tell the IDE to link to a library that it does not automatically use. Then, my output was always the output of one function followed by the output of the other -- in other words, I didn't get any mixed results. After playing around with it for a while, I found that which output is printed to the console first varies from run to run. So instead of doing a loop that executed 200 times, I made a loop that executed 200,000 times. Now I get the mixed output, but there are alternating very large runs of output from the two functions. My guess (and it is a shear guess, because I am a complete novice) is that the speed of the CPU executes the two threads so quickly it doesn't need to alternate between the two threads, unless they run for a "long" time. "Long" being relative, because even with a loop that outputs a character to the console 200,000 times takes a fraction of a second to complete.

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

    Fantastic and easy to understand explanation of multithreading in C++! Thank you!

  • @fadibenshadi7165
    @fadibenshadi7165 3 ปีที่แล้ว

    You are the best programming instructor in TH-cam. Unfortunately we don't have online-payment services in my country Libya otherwise I would have sent you a lot of coffee.

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

    This is very useful and relevant because I use Visual C++ 2019. Many sources are created for C++ 11 which cannot be run using Visual C++ 2019. Thank you very much !

  • @trtlphnx
    @trtlphnx 3 ปีที่แล้ว +13

    Thanks You For Such an Ingenious, Creative Presentation; You Are My Favorite Channel Here On The "Tube" ~
    Love What you Are Doing, Please NEVER Stop ~

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

    Thanks Saldina for explaning thread concept in c++ with simple example. Awaiting more such videos in C++.

  • @nickoppen
    @nickoppen 3 ปีที่แล้ว +2

    Hi Saldina. Excellent videos, especially this one. The last time I did any multithreading it looked like this: fork(void *). Now you've brought me up-to-date in 27 minutes and 12 seconds. Could you also do a video on how modern C++ does thread coordination. I always found that to be the trickiest part. Thanks, nick

    • @nickoppen
      @nickoppen 3 ปีที่แล้ว

      @@kotarino What I used was the MFC call AfxBeginThread(runner, ((LPVOID)(*nodeI)), THREAD_PRIORITY_BELOW_NORMAL); where UINT runner((LPVOID) arg); is the function but this was a later translation of a system I wrote in 2002 for BeOS which was: spawn_thread(runner, "Name", B_NORMAL_PRIORITY, *arg);. I was trying to keep it brief.

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

    It is an excellent video, congratulations.
    You speak clearly and in an objective way, great work!

  • @steinis6409
    @steinis6409 3 ปีที่แล้ว

    Was a perfect opporturnity to show-off "thread-locking" instead at the point you explained the ++++ and ---- coming in a random order.~

  • @matrix_7482
    @matrix_7482 3 ปีที่แล้ว

    Gledao sam nekoliko klipova sa ovog kanala, medjutim u ovom klipu si pomenula "Mostar" (Prelazim na "ti" u komentaru).
    Nakon toga sam usao na opis kanala i shvatio da si iz BiH, tacnije Mostara.
    Iskreno, pozitivno sam iznenadjen, da postoji ovako uspjesan youtube kanal vezan za programiranje (pogotovo u C++) u BiH.
    Samo tako nastavi, veliki pozdrav iz Banja Luke. 😁

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

    Yet another educative tutorial. I want to thank you for the time and efforts put into this. I just have a question an that is, where does the likes of atomic, mutex and so on come in where doing multithreading. How are they used and what do they do in threading? Thank you.

  • @marym9003
    @marym9003 3 ปีที่แล้ว +9

    Thanks for the Linode gift, it is very useful 💜💜

  • @aryansharma9933
    @aryansharma9933 3 ปีที่แล้ว +10

    You are doing great work ✨ 💜

  • @chronologie2895
    @chronologie2895 3 ปีที่แล้ว +3

    if show you error "terminate called without an active exception", just join the threads. example:
    std::thread worker1(function1, 'o');
    std::thread worker2(function2);
    worker1.join();
    worker2.join();

    • @ИгорьПорошин-л6м
      @ИгорьПорошин-л6м 3 ปีที่แล้ว +1

      !
      std::thread worker1(function1, 'o');
      std::thread worker2(function1, '-');
      worker1.join();
      worker2.join();

    • @wk2441
      @wk2441 3 ปีที่แล้ว

      Thanks for posting the solution to "terminate called without an active exception" solution, I ran into this as well with Visual Studio 2019 Community Edition on Windows 10. The ...join() synchronization worked for me too. Thanks again!

    • @gonzothegreat1317
      @gonzothegreat1317 4 หลายเดือนก่อน

      I too got an error message with the code as it is at 12:08 (and before that). Abort called and exited with error code 3.
      The join() function seemed to have fixed it.

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

    I am eagerly waiting for the second part of this multi threading series!!!

  • @nv9usb381
    @nv9usb381 3 ปีที่แล้ว +10

    Thank you Saldina ❤

  • @martinalcala4823
    @martinalcala4823 3 หลายเดือนก่อน

    Such a beauty! And I'm not only talking about the c++ Wonderful lady!

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

    Nice video! It is well and simple explained. Multithreading is definitely a subject I want to hear more about. Looking forward for your future videos.🤗

  • @clifforddicarlo9178
    @clifforddicarlo9178 9 หลายเดือนก่อน +1

    Yes, continue to mention the side issues.

  • @rea1967
    @rea1967 5 วันที่ผ่านมา

    -1°, 3:30am, varaždin
    also genious video! every question that popped into my mind was answered right away, thank you!! subscribed right away and went to check out your other videos. loved extra "fun facts" at the end and showing different perspective of the same solution

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

    Please make Data structures too !

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

    Great tutorial, thanks for teaching me multithreading.

  • @dundyd3612
    @dundyd3612 3 ปีที่แล้ว +8

    I love your videos, they're the best! Great job as always ❤️❤️

    • @ВикторГиль-ф2ф
      @ВикторГиль-ф2ф 3 ปีที่แล้ว

      Why do you love videos with big problems in examples ?

    • @TonyStark-lw7lv
      @TonyStark-lw7lv 2 ปีที่แล้ว

      I think if you can understand big problems , you will automatically be able to solve the simpler ones.

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

    Code Beauty is a good name for you. Thanks! Done as simply as possible.

  • @mdasadazam6161
    @mdasadazam6161 6 หลายเดือนก่อน

    awesome video, learnt multiple things from your video. Your video was worth spending my time.

  • @OzzFan1000
    @OzzFan1000 3 ปีที่แล้ว +8

    This video has been super-informative, and I love the extra explanation about situational code at the end. Thank you so much for sharing!
    Oh, and I'm in Illinois and it's 15 degrees Celcius at 2:00 PM Central time. 😃

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

    you can use _getch(); instead of using system("pause > nul"); its more efficient to use the _getch();

  • @nicholaskomsa1777
    @nicholaskomsa1777 6 หลายเดือนก่อน

    more modern threading concept:
    std::map map = {
    {"one", 1}
    ,{"two", 2}
    ,{"three", 3}
    };
    std::for_each(std::execution::par, map.begin(), map.end(), [&](auto& pair) {
    auto& [id, value] = pair;
    do {
    ++value;
    std::cout

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

    for those of you who don't know
    when you remove 'system("pause>nul");' which pauses the system and returns a null
    what you wil find is that her program actually returns a runtime debugger error... :p
    It would have been nice for her to have explained that error

  • @zeozeozevo
    @zeozeozevo 3 ปีที่แล้ว

    Thanks for the great video. Very educational and well explained. "system("pause>nul");" won't work in osx so I ended up using "std::cin.ignore(std::numeric_limits::max(),'
    ')" instead.

  • @morty6456
    @morty6456 3 ปีที่แล้ว

    Here from free code camp and your lecture was excellent 😁

  • @leoavecesentiendo
    @leoavecesentiendo 3 ปีที่แล้ว +3

    What a charming person! Thanks for the effort and useful information! Question: What about managing resources locally for solving a very large computational task in several threads concurrenly to make it faster for example? And the implications in memory to consider? Some sort of searching or sorting in a large matrix comes to mind... Thank you in advance!

  • @Shadow-lx9rh
    @Shadow-lx9rh 3 ปีที่แล้ว

    Mad respect to your efforts the ending was just mind-blowing informative but please 🥺 don't consider those thumbs down 🤧. I give u a salute 🙇 and a thumbs up tooo 👍

  • @swayam50
    @swayam50 3 ปีที่แล้ว

    Would love a playlist on Modern C++, as always awesome content ❤️❤️

  • @gurudatt-shahane
    @gurudatt-shahane 3 ปีที่แล้ว +2

    Thank you for the great content, this video is awesome in explaining multi-threading 💞

  • @chrisdahms9682
    @chrisdahms9682 3 ปีที่แล้ว +2

    Great beginner thread vid, but more on other topics would be helpful (.join, semaphores, mutexes, etc)

  • @anxonpues6018
    @anxonpues6018 3 ปีที่แล้ว

    Congratulaciones, for al your vídeos, but specially the last sentences of this one. This is REAL TEACHING transmit not only the good strengths and the weakens ... I really feel like listening one of the best doctors who teach analytical chemistry in the far 1972 !!! I remember I had been in Mostar the last summer before the division of Yugoslavia. ... well I liked places Postojna Jama. Plitvitce Yesero ... Neretva River. Island who has no vowel in the name. .... the one who produce the stones to build up White House maybe .... I would like to share with you some of the programs I wrote with your help. ... if that doesn’t represent to you to sleep even less ! 4 am and still awake. I remember doing that when young. ...now at 8 pm my body don’t work more... I repeat CONGRATULATIONS from Cardedeu Barcelona Catalonia EVG

  • @adibahbab6859
    @adibahbab6859 3 ปีที่แล้ว

    Please make videos and update the playliest on file handling covering...
    1.How to Select specific portion /item/ from file
    2.how to modify specific or full portion /item/ from file
    3.how to delete specificportion /item/option from file & each and everything related to file
    Or You can understand us through the PROJECT like, restaurant management system, Students record system bla blaa.. using file handling
    ( One request from your tiny subscriber dear madam❤️)

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

    Such an amazing teacher 👏

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

    Hi Saldina,
    Thank you for all your videos and doing such a great job in making them. They are extremely very easy to follow and learn. One thing I would like to know is, would ever like to add video on Linux Socket programming for Server/Client interaction in C++. It would help a lot. Thank you in advance.

  • @kushalumarkar03
    @kushalumarkar03 3 ปีที่แล้ว

    I really liked you explained the concept, I would this means my hunger increased 😀 to know more, so I would request to create more video on thread synchronizations using mutex, atomic and future similar to real time examples

  • @ioexec
    @ioexec หลายเดือนก่อน +1

    Thank you for the simple explanation :)

    • @CodeBeauty
      @CodeBeauty  หลายเดือนก่อน +1

      Glad it was helpful!

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

    21:22 chorono, corona making problem everywhere :D

  • @Fernando-du5uj
    @Fernando-du5uj ปีที่แล้ว +1

    Perfect explanation. Thank you alot!

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

    I like ur accent.

  • @multiplier007
    @multiplier007 3 ปีที่แล้ว

    Mam what is the company u work

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

    When you said it's 4am I felt that lol.

  • @vishakas1457
    @vishakas1457 3 ปีที่แล้ว

    Thank you for this video. Please make a video on thread synchronization, like critical section, mutex, semaphore, and event.

  • @MaiNgocDoan1809
    @MaiNgocDoan1809 3 ปีที่แล้ว

    thank you for sharing your knowledge. I appreciate that
    hope you give us more video like that

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

    This is actually good content subbed :)

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

    ❤Thank you Saldina, you are the best❤❤❤

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

    Hello, at the beginning you speak about the difference between multi-tasking and multi-threading... So, the solution you explain is mult-tasking, so it can be executed on 2 processors in parallel?
    But... What about fork()? I wrote my program with fork(), but apparently "thread" would be better for my way of exchanging data, but I want to have both "threads" run on different processors...
    You're the only one I found saying that multi-threading can be executed on different processors, I need your help :)
    Also, thanks for your really nice, clear and understandable tutorials, please continue :)

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

    4 am! Appreciate for your hard work.

  • @MillionCloud96
    @MillionCloud96 3 ปีที่แล้ว +2

    When are me and my partner's executions scheduled? Can't say I'm looking forward to it XD

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

    Wow! What a amazing video! Best tutorial I have ever seen on Multithreading in C++!
    Thank you so much for sharing your knowledge with the world!
    1 Subscribe has been added! :)

  • @duncanduncan3064
    @duncanduncan3064 3 ปีที่แล้ว

    From France. Always amazing. Could you in next video talk about mutex, join and joined ?

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

    great presentation ❤

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

    Love your videos. I’m not sure if I missed something, but was there supposed to be a bgWorker1 and bgWorker2? I was expecting a second worker as per your first example. Hope there is a part 2! Thanks!

  • @ibrahimelkhadir4024
    @ibrahimelkhadir4024 3 ปีที่แล้ว

    First thank you Engineering Saldana
    I looking for C++ Advanced

  • @MusicalGeniusBar
    @MusicalGeniusBar 3 ปีที่แล้ว

    These videos are the best. Keep them up

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

    I’m unsure if I heard everything right. But from my understanding multithreading isn’t the same as multicore. Rather multithreading is just like multitasking as you mentioned in the beginning they switch really quick between one another. Therefore it is able to run asynchronous but not at once.
    Might just be that the meaning is different across languages as I have largely coded in Python for the past 7 years.

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

    Great stuff. How can I debug a program that I can’t end a process, except by rebooting?

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

    Love this! Awesome video.

  • @RAYJOS
    @RAYJOS 3 ปีที่แล้ว +2

    I must say that I'm a bit enamored with this person as an instructor because she's so smart. The craziest part is that she's also really easy to look at. She probably needs more than a coffee to drink. Red Wine maybe?

  • @mustaphasadok3172
    @mustaphasadok3172 6 หลายเดือนก่อน

    Thank you sister. Very helpful

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

    thx a lot for another great video!