May i know how are Threads created by web container (New thread is created for every request) different from normal Threads which are created by Extending Thread Class or implementing Runnable Interface. Also how does Web container create Threads,even when Servlet interface or the servlets Extending it doesn't contain any run() method.
Difference between Threads created by web container and Normal Threads?
3.2k Views Asked by Kumar At
2
There are 2 best solutions below
0
Shailesh Yadav
On
There is no difference between threads except that in case of web container threads are generally taken from thread pool, as Creating a new thread object every time is expensive and time consuming.
(Thread pool is a collection of pre-instantiated, idle threads which stand ready to be given work, usually organized in a queue).
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in MULTITHREADING
- How can I outsource worker processes within a for loop?
- OpenMP & oneTbb difference
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- C++ error: no matching member function for call to 'enqueue' futures.emplace_back(TP.enqueue(sum_plus_one, x, &M));
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Qt: running callback in the main thread from the worker thread
- Using `static` on a AVX2 counter function increases performance ~10x in MT environment without any change in Compiler optimizations
- Heap sort with multithreading
- windows multithreading CreateMutex
- The problem of "fine-grained locks and two-phase locking algorithm"
- OpenMP multi-threading not working if OpenMPI set to use one or two MPI processor
- WPF Windows Initializing is locking the separated thread in .Net 8
- TCP Client Losing Connection When Writing Data
- vc++ thread constructor throwing compiler error c2672
- ASP.NET Core 6 Web API : best way to pause before resending email
Related Questions in SERVLETS
- java ee jdbc jstl servlet connection to db
- IOException parsing XML document from ServletContext resource What throws this exception in my SpringBoot RESTweb service?
- How can i connect my 4 objects in my jsp file so it can run perfectly
- Best Practice to skip URL pattern's from getting applied servlet filter
- How to accurately replace scripts / html before saving data from servlet to database
- Servlet not displaying data obtained from dao
- flutter Multipart file upload server side error: Unable to process parts as no multi-part configuration has been provided
- Read an image file using okhttp3.RequestBody in java and send it to client using HTTPServletResponse
- Unexpected servlet config parameter contextConfigLocation=<NONE>
- The servlets named [ClassName] and [com.example.ClassName] are both mapped to the url-pattern [/ClassName] which is not permitted
- How to Use an External JAR Offline in a Maven Project for Servlets Without Internet Access?
- session.invalidate() is sometimes not working and not destroying the session object. What should I do?
- Database ConnectionError
- In a web.xml, can the url-pattern of servlet-mapping containing more than one path component? (e.g. /path/to/*))
- How to update the resource property using the valuemap in the Sling servlet?
Related Questions in WEB-CONTAINER
- Local node webcontainer adapter for sveltekit. Looking for an example
- Xterm.js Fit Addon Doesn't Wrap Uncommited Text
- StackBlitz - ECONNREFUSED when connecting to local machine
- How to run Struts2 app on embedded Jetty?
- All web containers occupied by one app that depends on 2nd app
- Is stackblitz's terminal using the host or external processing power?
- Spring Boot Where is the dispatcher servlet located?
- How does an application server know what role a user has?
- Is there Web Container custom property com.ibm.ws.webcontainer.suppresserrorpageodrheader="true" equivalent in Open liberty?
- Getting following errors while running my spring boot application which include dependencies of JPA,spring web, spring security, Sql and Thymeleaf
- how does node js, when used as a server, can be defined in the context of a web server/ application server?
- How splitting in spring integration works for web container?
- How servlet request object is allocated to thread and returns response object
- Spring Project inside EJB project
- difference between Web Container and Web Browser
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
All the threads in java are created by Extending Thread Class or implementing Runnable Interface. So web container threads are also created in same way.
You dont see run method inside servlet, that's because servlet code is called inside run method of thread which is created by "main" thread of container. Container abstracts all these details, so that we can focus on writing actual logic server by request instaed of worrying about multiple request management.
Every container has "main" thread, the way we have for our standalone application, or similar to SpringMain in spring.
IF you want to to distinguish between container threads and your threads, you can look at their names and you should find a pattern. You can control nomenclature of threads created by your business logic.