Win a copy of Murach's Python Programming this week in the Jython/Python forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Effect of 10,000 thread creation on Application performance  RSS feed

 
Pavan Kashyap
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,
I am creating an application for the call routing in the call center system.Here iam facing a challenge.

Here goes the scenario:

Say there is huge call volume of 10000 calls coming at a time.And there are 1000 agents who recives the call.So there would be 1000 calls diverted to the 1000 agents at the first instance,but still there remains 9000 calls on hold.

Now if each one of the call is assigned with a thread,there would be 9000 threads. My doubt is having 9000 threads makes a good application.

I have set call notification in telecom domain....so any call made to this particular number will be notified to my application...Here i m creating separate thread...to assign different Agents.

Are there any methods by which this can be handled.

Regards
Pavan
 
Peter Chase
Ranch Hand
Posts: 1970
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thousands of threads is not a good idea on any operating system. My experience suggests that Windows might just about survive it, while Linux would have collapsed in a heap (or lack thereof...) well before you got to 9000 threads.

Consider using thread pools or task queues or something like that. I believe Java 5 has stuff to help you with all that; I don't use Java 5 much yet, so have my own pools/queues etc.
 
Ernest Friedman-Hill
author and iconoclast
Sheriff
Posts: 24215
37
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Or don't use threads. I'm not sure why you think you need to create a thread for each call.
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm quite sure we leave calls queued in the telephone system and they only come out of the phone queue when an agent makes a physical phone available. Two application generations ago we were strictly fat client and the phone system delivered calls and CTI messages to individual desktops this way, no server involved at all. Come to think of it, we still work that way with a CTI vendor provided DLL on the workstation. Is your phone system capable of this?
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!