I need an application/service which runs in the background and generate bills on a particular date of every month.
I went through many articles explaining the difference between Windows Service and Scheduled task Application and came to a conclusion that an application would suit my scenario.
Having said this, I wonder if I need to use Multi-threading in my application as I understand Multi-threading is basically to create a responsive UI while doing long running tasks but since my application will have no UI , do I need to have multi-threading actually?
Is there any difference in performance for a single threaded application to get the data from various sources (say database,webservice) and a multi-threaded application where we distribute each task to a thread and finally integrate all the output?
Typically, an application like this will have no user interface at all, in which case your rationale for multi-threading may be meaningless in this case.
That being said, whether or not to use multiple threads for processing your data is another issue entirely. You could, if it makes sense to do so. If this is an application that’s going to run once per month, it may be just as easy to leave it single threaded, as there’s likely not a time constraint for completion.
If you need to process the items quickly, though, it may make sense to thread portions of the application.
Typically, yes. That’s the most common reason to introduce threading – it allows you to do more work in less time. It does add a fair amount of complexity (depends on the scenario), however.