I have done data migration from one system to another system by transferring 10 lakhs documents along with metadata recently using fixed thread pool service with 8 threads. I am hearing this virtual threads first time and good thing learned from you. Thank you so much for this video. Appreciating you
Very helpful video. can you create a video covering completable future with multithreading using virtual threads? I know that you briefly touched upon it in this video. A detailed video will be very helpful.
Why do you want to use completablefuture with virtual thread? IMO, completablefuture was written to not block a thread (e.g. we send a request to a DB, then that thread is released, when the data comes back, another thread will work with that data). We can confidently block a virtual thread. Then no need of completablefuture. Ask some AI to see what it says.
Ciao! Io ho un notebook con cpu intel 2 core 4 threads, quando lavoro con il pc virtuale rallenta! Ho 16gb di RAM DDR3. Con questo metodo di virtual thraed riesco a velocizzare?. Translate to Italian and English
Hey I have a confusion. As per my knowledge platform threads are mapped to number of cpu cores/kthreads. If i have 100 Java.lang thread then the JVM thread scheduler will not wait for the first 4 threads to complete then next 4 threads . The platform thread will be shared between all java.lang.Thread in a time slicing manner or the thread with more priority. Am i correct? If not please correct me. If you are talking about threadpool like in tomcat servers where we can mention max_threads then I can make max_threads as 200 and run in a 4 core maching with preemption. According to you if i have a million concurrent request then i need million core cpu?
Nicely explained and I will definitely encourage to my team members to start implementing this. While we are already using Reactive Programing, is there any additional benefits VT will yield on top of what we have?
There isn’t any limitations on on player-app it’s just wait for 2sec to serve the request but not limited that it can only handle 10 req at a time as team-app
Make a dedicated video on multi threading instead of directly jumping into virtual threads. No one makes proper videos and can’t explain multithreading concepts properly and that’s the reason most of them don’t have much idea on them.
By your explanation, we should not be able to create a fixed thread pool of more than 8 platform threads. However we know that we certainly can. There is a difference between parallelism and concurrency. So saying that a normal application would be able to handle only 8 requests at the same time is not correct. Why would weBservers would be built to handle 200 requests at the same time then. Virtual threads do help with the throughput but not latency, so again saying that it will make things quicker is flawed, it might appear things are happening fast if the application has a throughput issue. but if there is no throughput issue, then virtual threads are no way going to complete the tasks any faster than the platform threads.
At the beginning of the video: a machine with a 4-core cpu has only 4 (or 8) threads? I think that there's a misunderstanding of cpu thread and os thread.
How many virtual threads spring can create per platform thread ? Suppose my server can now serve 1000 concurrent requests. I have told customer 1000 users can access my dashboard api concurrently. After implementing virtual thread, can I tell my customer, now unlimited users can access dashboard api concurrently?
Depends on the HW resources, since the scalability per jvm instance is still tied to computing power of the host system…unless a mesh or large distributed instances such as K8 are involved to have unlimited horizontal scaling. The virtual threads should in theory almost come to a halt due to busy wait in winning the scheduler contention else there will be significant delays due to the queued up virtual threads, awaiting cpu cycles So theoretically they should scale infinitely but they are designed to carry out short lived light weight tasks and not a computationally intensive task which can be run directly using platform threads
Bi, you mentioned that the data will be kept inn heap memory and then gets executed. But storing large data in heap memory leads to performance issue right. So how java takes care of thisvissue?
I have done data migration from one system to another system by transferring 10 lakhs documents along with metadata recently using fixed thread pool service with 8 threads. I am hearing this virtual threads first time and good thing learned from you. Thank you so much for this video. Appreciating you
Nice comparison between executor service and virtual threads.
Easy Explanation ,Watched many videos to Understand Virtual Threads This video made me clear about it. Thank you so much 🙏 .
🙏🙏
Abhee accha say mutache bhee aaya hai..but knowledge confidence level is awesome. 👍
Articulation to Execution and demonstration, Full marks!!
Thanks 🙏🙏
Awesome explanation!!
Please make a video on multithreading!
4:10 - bro there will be waiting time if all the threads are CPU bounded and not I/O bounded. Even if they are I/O bounded there will be waiting time.
Really helpful. Thanks a lot bro.
Very helpful video. can you create a video covering completable future with multithreading using virtual threads? I know that you briefly touched upon it in this video. A detailed video will be very helpful.
I will plan on it
What stopping you to explore it by yourself?
Why do you want to use completablefuture with virtual thread?
IMO, completablefuture was written to not block a thread (e.g. we send a request to a DB, then that thread is released, when the data comes back, another thread will work with that data).
We can confidently block a virtual thread. Then no need of completablefuture.
Ask some AI to see what it says.
great explanation..! thank you
It is quite helpful for our current scenario in developing some applications.
Awesome, Glat to be helpful
Yes, after hearing this lecture it is utmost needed.
Very simple and easy to understand. good effort to share your knowledge.
Which video editor you are using, its very cool and impressive.
Ciao! Io ho un notebook con cpu intel 2 core 4 threads, quando lavoro con il pc virtuale rallenta! Ho 16gb di RAM DDR3. Con questo metodo di virtual thraed riesco a velocizzare?. Translate to Italian and English
Hey I have a confusion. As per my knowledge platform threads are mapped to number of cpu cores/kthreads. If i have 100 Java.lang thread then the JVM thread scheduler will not wait for the first 4 threads to complete then next 4 threads . The platform thread will be shared between all java.lang.Thread in a time slicing manner or the thread with more priority. Am i correct? If not please correct me.
If you are talking about threadpool like in tomcat servers where we can mention max_threads then I can make max_threads as 200 and run in a 4 core maching with preemption.
According to you if i have a million concurrent request then i need million core cpu?
We enabled virtual threads in first service only which in turn making call to second service where virtual threads is not enabled so how did it work?
wonderful content.
thanks.
Thanks 🙏
Nicely explained and I will definitely encourage to my team members to start implementing this. While we are already using Reactive Programing, is there any additional benefits VT will yield on top of what we have?
You enabled virtual thread in team-app but how player-bloc is able to handle 32 requests at a time?
There isn’t any limitations on on player-app it’s just wait for 2sec to serve the request but not limited that it can only handle 10 req at a time as team-app
The "player-bloc" tomcat settings didn't change so the api can handle up to 200 requests simultaneously.
What about the memory used?
Make a dedicated video on multi threading instead of directly jumping into virtual threads. No one makes proper videos and can’t explain multithreading concepts properly and that’s the reason most of them don’t have much idea on them.
Thank you for suggestions
I will plan on creating a video on that
Please bring a full tutorial on executor for virtual thread and so we can implement in some real project
🙏
can we use spring.threads.virtual.enabled in spring boot 2.X ..?
How to implement before spring boot version 3.2.0
By your explanation, we should not be able to create a fixed thread pool of more than 8 platform threads. However we know that we certainly can. There is a difference between parallelism and concurrency. So saying that a normal application would be able to handle only 8 requests at the same time is not correct. Why would weBservers would be built to handle 200 requests at the same time then. Virtual threads do help with the throughput but not latency, so again saying that it will make things quicker is flawed, it might appear things are happening fast if the application has a throughput issue. but if there is no throughput issue, then virtual threads are no way going to complete the tasks any faster than the platform threads.
8 cpu cores means 8 tasks can be executed parallelly, if more requests come they'll be executed concurrently right?
I do not want this used for all the app level only for few blockers then is there any possibility
At the beginning of the video: a machine with a 4-core cpu has only 4 (or 8) threads? I think that there's a misunderstanding of cpu thread and os thread.
Ya, same doubt, mentioned 8 threads and as per diagram it's 4 threads
Thanks. Helpful to begin with
🙏🙏
Could you please create more videos on quarkus
Yes, I had lost that train.
I had planned a couple of videos but was not able to record those.
I will surely work on those
How many virtual threads spring can create per platform thread ?
Suppose my server can now serve 1000 concurrent requests. I have told customer 1000 users can access my dashboard api concurrently.
After implementing virtual thread, can I tell my customer, now unlimited users can access dashboard api concurrently?
Depends on the HW resources, since the scalability per jvm instance is still tied to computing power of the host system…unless a mesh or large distributed instances such as K8 are involved to have unlimited horizontal scaling.
The virtual threads should in theory almost come to a halt due to busy wait in winning the scheduler contention else there will be significant delays due to the queued up virtual threads, awaiting cpu cycles
So theoretically they should scale infinitely but they are designed to carry out short lived light weight tasks and not a computationally intensive task which can be run directly using platform threads
Could you please create separate video about threads and multithreading from scratch.
Yes, planning on it
Thanks for to the point, fast and clear explanation 🙏
Very informative video Shabbir! keep it up
Thanks 🙏
Really superb....🎉❤
Thanks 🙏
Bi, you mentioned that the data will be kept inn heap memory and then gets executed. But storing large data in heap memory leads to performance issue right. So how java takes care of thisvissue?
Same question
Learn garbage collection
Great info thanks
Thanks 👍
Hi Sir, coupon code is not working while checkout
I will check on this
Great Explanation 👍
Thanks 🙏
Thanks bhai
So, reactive programming will be dead in coming years?
Good !!
Thanks!
Excellent 🔥
Thanks 🙏
It's not mastering. The title should be an easy and basic concept about virtual threads
Bro can you share you java journey? Like what modules of spring framework you learnt, from where did you learnt, etc...
Sure, I can plan a video on that
What is non blocking bro. 😂😂
Nice, You copied this from dan vega's UA-cam channel! 😂
Develop a full fledged application using multi threading, executors framework and virtual threads. These hello world videos are of no help.
Hey, Thanks for suggestions
I will plan something on that.
These videos are to clear the concepts, hope you understand