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

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.พ. 2025

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

  • @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 ปีที่แล้ว +19

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

  • @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.

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

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

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

      You're very welcome!

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

      real shit when i hear this from her its feels so easy to understand very good video and i guess the other ones are good too

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

    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!

  • @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 :)

  • @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.

  • @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.

  • @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!

  • @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

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

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

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

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

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

    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!

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

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

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

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

  • @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!

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

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

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

      👋👋😃

  • @technicalpublishing8188
    @technicalpublishing8188 3 ปีที่แล้ว +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!!!

  • @齐峰-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

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

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

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

    -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

  • @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 😄👍

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

    You are an astounding teacher, thank you very much!

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

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

  • @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!

  • @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!!!

  • @kaganbaltacioglu
    @kaganbaltacioglu 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

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

    The best C++ teaching ever

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

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

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

      Thanks, welcome to my channel 🥰

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

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

  • @SauravKumar-vj7ks
    @SauravKumar-vj7ks 3 ปีที่แล้ว +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. 👍

  • @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 ~

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

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

  • @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. 😁

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

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

  • @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 !

  • @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❤️😊

  • @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.

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

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

  • @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 7 หลายเดือนก่อน

      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.

  • @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 3 ปีที่แล้ว

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

  • @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.

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

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

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

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

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

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

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

    Thank you for the simple explanation :)

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

      Glad it was helpful!

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

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

  • @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.🤗

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

    You are doing great work ✨ 💜

  • @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. 👍

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

    Thank you Saldina ❤

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

    Perfect explanation. Thank you alot!

  • @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

  • @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.

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

    great presentation ❤

  • @cepson
    @cepson 3 ปีที่แล้ว +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.

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

    thx a lot for another great video!

  • @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 👍

  • @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.~

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

    Thank you sister. Very helpful

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

    Love this! Awesome video.

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

    Such an amazing teacher 👏

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

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

  • @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.

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

    You are a real CPP Princess❤

  • @adammontgomery7980
    @adammontgomery7980 8 ชั่วโมงที่ผ่านมา

    Wouldn't you want to pass the forecastMap by pointer or reference? It seems like the refresh function would only update the data so that main has access to recent temperatures. Not trying to nit-pick, I was just yelling at the screen for you to pass by reference, then you fixed it in a way I didn't expect.

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

    This is actually good content subbed :)

  • @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

  • @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.

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

    4 am! Appreciate for your hard work.

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

    i think we can see this type of problem which u mentioned in like most mobile applications in which they ask for permission for sunning in the background, what I think we can make it something like whenever the application is opened it will start the process of getting the data and continue to refresh the data till the user is using the application and stop whenever it is closed. If I am wrong or correct pls do tell and if u have suggestions. i am new to programming.

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

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

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

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

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

    Yes, continue to mention the side issues.

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

    Thank you saldina it was amazing video.keep it up

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

    These videos are the best. Keep them up

  • @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! :)

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

    Here from free code camp and your lecture was excellent 😁

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

    Thank you for the great video!!!

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

    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

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

    Thanks for the awesome tutorial.
    One question, what happens when you have more threads than the number of cores/threads in the cpu?

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

      When you have more threads than CPU cores, the CPU shares its time between the threads by rapidly switching between them. This is called time-slicing.
      Each thread gets a small amount of time to run before the CPU moves on to the next one. This process, called context switching, adds some extra work for the CPU, which can slow things down if there are too many threads.
      - If there are a few extra threads, the performance impact is usually small.
      - If there are a lot of threads, the CPU can become overwhelmed, especially if the threads are all doing heavy processing.
      However, if some threads are waiting for input/output (like from a file or the internet), they won’t burden the CPU much, so you can run more of them without a major slowdown.

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

      @@CodeBeauty Thanks for the fast response.

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

    Please make Data structures too !

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

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

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

    Excellent video!

  • @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. 😃

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

    That was indeed helpful, Thank you very much :)

  • @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 :)

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

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

  • @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

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

    Great video!

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

      Thanks!

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

    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.

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

    Isn't the bgWorker a single thread that is running infinitely?
    Because you just created only 1 thread named bgWorker and that is running infinitely right? Whereas in the first example you created 2 threads named worker1&2 so I thought that means 2 threads are created or did I understand it completely wrong?

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

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

  • @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.

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

    Really helpful 👌

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

    Thank's Saldina ;)

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

    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.

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

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