Actually multi threading is commonly used in applications that do not have a ui. this question is similar to the one posed in the comments above so i will briefly answer your question.
Multi-threading is commonly used when one has to analyse large amounts of data that are not dependent on each other. For instance if i have a large data set and i want to add 10 to each item. Since none of them are dependent on each other I can multi thread that section. This example is fairly simple however so the penalty might be more than the gain, but it is an example of when you could multi-thread an application.
In all honesty this is not the place to come to learn threading. There are hundreds if not thousands of books out there on the subject. Yes this community is dedicated to helping each other, but in all seriousness how much will you learn from a few dozen people answering your question in a few hundred words vs the plethora of knowledge done by the researchers who came before you