📚 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.
@sparshbhogavilli9566
Жыл бұрын
How did you get spaces in the for-loop at 4:22 ? Thanks!
@muhammad.hameem
Жыл бұрын
The only youtuber who teaches modern C++ in the best way possible.
@sabbirahmed8012
2 жыл бұрын
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.
@patrickmayer9218
Жыл бұрын
*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
10 ай бұрын
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
10 ай бұрын
@@chopov11 Gotcha, thanks for the additional info :)
@ian_snyder
8 ай бұрын
This is the clearest explanation of multithreading I've found, thank you so much!!
@CodeBeauty
5 ай бұрын
You're very welcome!
@wora1111
2 жыл бұрын
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!
@reggiedaniels6920
2 жыл бұрын
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
2 жыл бұрын
wow, i was very confused in class when my teacher was explaining this, and now its cristal clear 👏👏👏 brava ❤❤❤
@denisceke4010
2 жыл бұрын
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
Жыл бұрын
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!
@technicalpublishing8188
2 жыл бұрын
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!!!
@silque1150
2 жыл бұрын
Your videos are getting me through my classes. You deserve more than a few coffees. Thank you!
@vladleustean1638
Жыл бұрын
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
Жыл бұрын
Hey, is it possible to get in touch with you and discuss how you got the job? I would really appreciate it, thanks.
@trtlphnx
2 жыл бұрын
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 ~
@elprofesor6156
2 жыл бұрын
Eagerly waiting🎉 and kindly do upload more topics of DATA STRUCTURES🧑💻. It will be very helpful❤️😊
@Kazner0h
Жыл бұрын
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!
@gemechuuberiisoo698
Жыл бұрын
You are an astounding teacher, thank you very much!
@papiermuecke7626
2 жыл бұрын
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!!!
@ordinary_man_84
Ай бұрын
Awesome! With my bad English I understood all in this lesson. Saldina explains very clearly.
@CodeBeauty
Ай бұрын
Thanks, welcome to my channel 🥰
@russellvn
2 жыл бұрын
Such a great video i ever seen about multi-thread. I love this. Thank you very much, Saldina
@CarlosSamuelGlezJB
Жыл бұрын
Love your channel! And also, when I saw you have this multithreading video... I got excited!
@EngineeringChampion
Жыл бұрын
You are a great teacher! I've watched almost all of your videos! More Please and keep it up!
@SauravKumar-vj7ks
2 жыл бұрын
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. 👍
@marym9003
2 жыл бұрын
Thanks for the Linode gift, it is very useful 💜💜
@nv9usb381
2 жыл бұрын
Thank you Saldina ❤
@uccoskun
8 ай бұрын
It is great to hear some possible real life problems. It helps people to write better program with deeper insight.
@CodeBeauty
5 ай бұрын
👋👋😃
@archanasubramanian2734
2 жыл бұрын
Looking forward to more concepts in multithreading. Thanks for this neat description.
@alterratz665
2 жыл бұрын
It should probably be: void RefreshForcast(std::map& forecastMap) and std::thread bgWorker(RefreshForcast, std::ref(forecastMap)); Other wise I liked your video. 👍
@aryansharma9933
2 жыл бұрын
You are doing great work ✨ 💜
@thePolyguru
Жыл бұрын
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!
@dundyd3612
2 жыл бұрын
I love your videos, they're the best! Great job as always ❤️❤️
@ВикторГиль-ф2ф
2 жыл бұрын
Why do you love videos with big problems in examples ?
@TonyStark-lw7lv
2 жыл бұрын
I think if you can understand big problems , you will automatically be able to solve the simpler ones.
@齐峰-l8x
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
Жыл бұрын
Hey, is cpp primer a good book for a beginner??
@齐峰-l8x
Жыл бұрын
@@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
Жыл бұрын
@@齐峰-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
Жыл бұрын
@@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
Жыл бұрын
@@齐峰-l8x got it👍...Thanks for the replies
@martinalcala4823
Ай бұрын
Such a beauty! And I'm not only talking about the c++ Wonderful lady!
@janeikeliu
Жыл бұрын
Fantastic and easy to understand explanation of multithreading in C++! Thank you!
@chronologie2895
2 жыл бұрын
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();
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
3 ай бұрын
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.
@rre9518
Жыл бұрын
Code Beauty is a good name for you. Thanks! Done as simply as possible.
@Greyhame2010
2 жыл бұрын
Don't know what to say, but, whoa! Jumping around KZitem 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 😄👍
@mdasadazam6161
4 ай бұрын
awesome video, learnt multiple things from your video. Your video was worth spending my time.
@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.
@Ghisisan_
2 жыл бұрын
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.🤗
@cepson
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.
@kanthichandra898
2 жыл бұрын
Please make Data structures too !
@kaganbaltacioglu980
2 жыл бұрын
Hi Saldina, around 23:52, when I tested it, it worked fine without #include and #include.
@bearwolffish
Жыл бұрын
You are probably including the entire std namespace
@LimaSentosa
Жыл бұрын
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 !
@amit6k
2 жыл бұрын
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
Жыл бұрын
thanks....this solved my problem too.
@OzzFan1000
2 жыл бұрын
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. 😃
@arusikapinyan6326
Жыл бұрын
❤Thank you Saldina, you are the best❤❤❤
@fadibenshadi7165
2 жыл бұрын
You are the best programming instructor in KZitem. Unfortunately we don't have online-payment services in my country Libya otherwise I would have sent you a lot of coffee.
@Fernando-du5uj
Жыл бұрын
Perfect explanation. Thank you alot!
@matrix_7482
2 жыл бұрын
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. 😁
@nickoppen
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
2 жыл бұрын
@@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.
@clifforddicarlo9178
7 ай бұрын
Yes, continue to mention the side issues.
@ginsonmathew186
2 жыл бұрын
I am eagerly waiting for the second part of this multi threading series!!!
@johnsknows3135
Жыл бұрын
thx a lot for another great video!
@steinis6409
2 жыл бұрын
Was a perfect opporturnity to show-off "thread-locking" instead at the point you explained the ++++ and ---- coming in a random order.~
@FrostGamingHype
2 жыл бұрын
you can use _getch(); instead of using system("pause > nul"); its more efficient to use the _getch();
@mustaphasadok3172
4 ай бұрын
Thank you sister. Very helpful
@bartoszskowronski
Жыл бұрын
great presentation ❤
@cuixg
2 жыл бұрын
4 am! Appreciate for your hard work.
@arcanelore168
7 ай бұрын
This is great for uploading images to imgur. All ran randomly.
@cheggmi3637
2 жыл бұрын
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.
@lawniczakjohn
11 ай бұрын
Love this! Awesome video.
@letuslearn8433
2 жыл бұрын
Thank you saldina it was amazing video.keep it up
@nicholaskomsa1777
5 ай бұрын
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
@software2171
2 жыл бұрын
21:22 chorono, corona making problem everywhere :D
@CodeBeauty
2 жыл бұрын
yup 😁😅
@anxonpues6018
2 жыл бұрын
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
@MaiNgocDoan1809
2 жыл бұрын
thank you for sharing your knowledge. I appreciate that hope you give us more video like that
@tutocart9790
7 ай бұрын
Great video!
@CodeBeauty
5 ай бұрын
Thanks!
@charimuvilla8693
2 жыл бұрын
When you said it's 4am I felt that lol.
@Shadow-lx9rh
2 жыл бұрын
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 👍
@adityaraghav8693
2 жыл бұрын
This is actually good content subbed :)
@adibahbab6859
2 жыл бұрын
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
2 жыл бұрын
Such an amazing teacher 👏
@MillionCloud96
2 жыл бұрын
When are me and my partner's executions scheduled? Can't say I'm looking forward to it XD
@robertod893
Жыл бұрын
Excellent video!
@TheDutchisGaming
Жыл бұрын
OVH is also a good server host for anyone looking for a alternative.
@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
@kushalumarkar03
2 жыл бұрын
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
@shankarghimire4492
2 жыл бұрын
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! :)
@sureshpal5613
Жыл бұрын
great explaination kindly share the code
@alexneudatchin2161
7 ай бұрын
with this while() thing you'll have error on exit unless you gonna use 'terminate' thing. But latter is a last chance weapon lady.
@vishwa2602
2 жыл бұрын
❣❣❣
@NiepoprawnyKomentator
Жыл бұрын
Thank's Saldina ;)
@bartoszskowronski
Жыл бұрын
Next Please: Shared Memory C++. I would love to see a solution for my problem: Program A has 5 variables (int, float, double) (in reality 2000 variables) constantly changing like every ~2s {in reality ~5ms}). And Programs B and C need to read them like every 1~5s. (in reality 2~20ms). And Programs D need to read/modify them like every 1~5s. (in reality 2~20ms). If Program A have new data old are destroyed even if nobody reads them. Reading data don't destroy anything. If Program A don't produce new data program B/C/D reads again the same data. Reading/Writing to the memory by one program is protected of interruption from another.
@pratikprajapati8620
2 жыл бұрын
Thanks this vid halped me a lot...
@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.
@Jorge-mk6sd
2 жыл бұрын
Great!
@manavroy7293
2 жыл бұрын
That was indeed helpful, Thank you very much :)
@morty6456
2 жыл бұрын
Here from free code camp and your lecture was excellent 😁
@tonym5857
2 жыл бұрын
Love your video, my request is GUI Forms using Visual Studio (not borland) Best regards
@SA-oj3bo
2 жыл бұрын
I am also interested in GUI with VS!
@vishakas1457
2 жыл бұрын
Thank you for this video. Please make a video on thread synchronization, like critical section, mutex, semaphore, and event.
@abhilashr2419
Жыл бұрын
Please do video on posix threads
@duncanduncan3064
2 жыл бұрын
From France. Always amazing. Could you in next video talk about mutex, join and joined ?
@Pork-Chop-Express
2 жыл бұрын
Fan Request- Import S&P500 ohlcv data (last two years, daily) into CSV excel file, multithread multiple regression prediction using Intel C++ compiler. And time it (with / without multithreading; and between the different compilers).
@YippeePlopFork
21 күн бұрын
We were making dinner - as you suggested - but when you said we could both be executed together, we fell to the floor and now we’re hiding next to the cupboard with pots on our heads! Can you please let us know when it’s safe to come out??!! 😳
@CodeBeauty
20 күн бұрын
Hahahahah 😅 your comment made me laugh, so I had to reply even though I published this video years ago. If you want to learn more about multithreading in practice and learn about all other important programming concepts in practice, you should join my practical programming course here: codebeautyacademy.com It will help you to gain the experience necessary to start a successful career 😊😊
@leoavecesentiendo
2 жыл бұрын
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!
@tahashaker3231
Ай бұрын
Programming and beauty ❤❤❤❤❤❤❤❤
@muditkhanna8164
9 ай бұрын
nothing just a personal recommendation. try to use cat eye glasses. they'll suit you very well.
@bitterlemonboy
Жыл бұрын
very helpful!
@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.
Пікірлер: 318