• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Effect of 10,000 thread creation on Application performance

 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
 
Ranch Hand
Posts: 1970
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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?
 
reply
    Bookmark Topic Watch Topic
  • New Topic