This is a very important video for understanding threads and async code. I strongly suggest using visuals. I personally love your cog analogy, but images might help the mind focus on understanding the concepts without putting too much effort of visualizing a cog. Even a clumsy ms paint picture can go a long way.
@eddypartey107510 ай бұрын
Exactly! Got the same idea while was watching vid
@fieryscorpion10 ай бұрын
This would have been a great video with some diagrams or animations. Felt really hard to follow, so I'll probably have to watch it few more times to understand.
@александрпанков-б6щ10 ай бұрын
Agree
@sergeys527010 ай бұрын
it would be clearer if there was a simple visual presentation
@vedantkoditkar596810 ай бұрын
Would be great if you could or already have a video about how such situations can be handled by refactoring the code.
@Jebediah_w10 ай бұрын
Love the in depthness of this one.
@naitik_10 ай бұрын
One more thing to add to this: - Normally, the Task approach is a good thing. It saves the application from hogging all the threads of the machine and juggles small operations on threads. Like one more layer of juggling on a processor. And it protects beginners from messing up with direct threads. Only for advanced level scenarios one may have to deal with direct threads.
@_OsamaAmir10 ай бұрын
so if tasks are jamming the threads, is it not a bad idea to use a lot of await keywords, if I remember correctly, you told in your async await video that if awaiting is not required, we should just return a Task and manage awaiting higher up the chain of functions, my question is that just making, running and returning tasks without using await, do they also block the threads, or do they perform the operation synchronously it is a bit confusing so can you guide on that a bit
@RawCoding10 ай бұрын
Everytime you write await, you are creating a cog before and after the await, the thread pool will place those cogs on the thread. Cogs don’t block, statements such as lock, and getawaitergetresult cause cogs to block.
@SuperKombain10 ай бұрын
Thank you so much for a dark IDE theme! Appreciate you've heard my ask 🙏
@darkmift4 ай бұрын
Recommend a note about semaphore and lock not knowing these makes following difficult.
@parkerwarner868810 ай бұрын
Love the video. What would be the case of a blocking task? Or something that would jam the thread and not finish? Trying to think of a real world example
@RawCoding10 ай бұрын
There shouldn’t be. This tended to happen when people mixed non async synchronisation tools with async code such as locks, which are used inside Semaphore (not slim) ConcurrentBag etc…
@thishandleistaken10 ай бұрын
Something went wrong with the audio and video, it's not synced.
@Sife-db10 ай бұрын
Await it
@wobblejuice10 ай бұрын
the voice is out of sync...
@GrimReaper16049010 ай бұрын
Is it just me or is the audio desynched from the video?
@charles_kuperus10 ай бұрын
That was awesome video About tasks and threads. Would you do a video on configure await equals false vs true?
@gustavnilsson659710 ай бұрын
Brilliant!
@ragtop6310 ай бұрын
Although I understand what you’re trying to illustrate, I feel like the cog analogy isn’t as intuitive as might have first seemed. Also, working visuals would help a lot too.
@veec153910 ай бұрын
Love the videos, though miss the light mode with shades
@gordonfreimann10 ай бұрын
can you make video of c# scripting with roslyn?
@RawCoding10 ай бұрын
I have a bunch of vids like that on my video looking for anything specific?
@ilyahryapko10 ай бұрын
English is too much of a non-native language for me to listen repeating "cogs" to be honest :) Anyways, Anton, your videos are just diamonds in all that junk of modern .net content. Thank you!
@ethanr0x10 ай бұрын
You need to explain and demonstrate better how ACTUAL threads execute an ACTUAL task with logging the Thread.ID for example before this video can really make sense. Now I am left with the idea that different threadpool threads execute different segments of the underlying task state machine but why do they not execute all of it? Why exactly?