Register Now
Member Count: 176,913 - November 21, 2008  [Get Time]
Login
Dashboard > TopCoder Competitions > ... > Suggested Component Standards and Practices > Always Address Concurrency
TopCoder Competitions View a printable version of the current page.  
Always Address Concurrency
Added by bwright , last edited by taeric on Mar 06, 2008  (view change) show comment
Labels: 
(None)

Concurrency is a tough issue to both specify and implement correctly. Further, concurrency concerns can be highly dependent on the target environment for a component.

To that end, all components can at least identify the main limited resources they will have access to. These resources should represent the items that will present the most difficulty in scaling this component, and are typically consisted of the following:

  • Domain objects
  • File system objects
  • Threads
  • Network objects

Once these are identified, a component can outline both the method that was chosen in addressing these concerns and future directions that can be taken by the component. (For example, the current implementation is not distributed, but future versions may be. Or, this component chose standard java socket implementations for simplicity, but future versions may need to use NIO in order to reduce the required number of threads.)