You are here: DIME Home > Programming and Scripting > What is application concurrency?


What is application concurrency?

In a multi-user system or application, concurrency is a major issue that the development team must address. Concurrency, in the context of a software application, is the handling of multiple users attempting to access the same data at the same time.

Author: Venkatesh Pai
Date: Jul 29, 2009 - 10:59:09 AM


Printer FriendlyPrinter friendly page

In a multi-user system or application, concurrency is a major issue that the development team must address. Concurrency, in the context of a software application, is the handling of multiple users attempting to access the same data at the same time.

 

For example, consider a multi-user order processing system that allows users to add and edit orders for customers. Adding orders is not a problem-since each new order generates a discrete record, several users can simultaneously add orders to the database without interfering with one another.

 

Editing orders, on the other hand, can result in concurrency problems. When a user opens an order to edit it, a dialog is displayed on the local machine with information about that order. To accomplish this, the system retrieves the data from the database and stores it temporarily in the local machine's memory, so the user can see and change the data. Once changes are made, the data is sent back to the server, and the database record for that order is updated. Now, if two users simultaneously have the editing dialog open for the same record, they both have copies of the data in their local machines' memory, and can make changes to it. What happens if they both choose to save the data?

 

The answer depends on how the application is designed to deal with concurrency. Managing multi-user access to a shared resource is a challenge. Any resource that can be accessed by more than one user requires software logic to protect that resource by managing the way multiple users can access and change it at the same time. This problem has only become more common since the advent of network file sharing, relational databases, and client-server computing.

 

There are several ways for a software application to deal with concurrency. Among these are the following:

 

Pessimistic: This concurrency model places locks on data. If one user has a record open and any other users attempt to read that data in a context that allows editing, the system denies the request. In the preceding example, the first user to open the order for editing gets the lock on the order record. Subsequent users attempting to open the order will be sent a message advising that the order is currently being edited by another user, and will have to wait until the first user saves the changes or cancels the operation. This concurrency model is best in situations when it is highly likely that more than one user will attempt to edit the same data at the same time. The downside with this model is that others users are prevented from accessing data that any one user has open, which makes the system less convenient to use. There is also a certain amount of implementation complexity when a system must manage record locks.

 

Optimistic: In the optimistic concurrency model, users are always allowed to read the data, and perhaps even to update it. When the user attempts to save the data, however, the system checks to see if the data has been updated by anyone else since the user first retrieved it. If it has been changed, the update fails. This approach allows more users to view data than does the pessimistic model, and is typically used when it is unlikely that several users will attempt to edit the same data at the same time. However, it is inconvenient when a user spends time updating a record only to find that it cannot be saved. The record must be retrieved anew and the changes made again.

 

No concurrency protection: The simplest model of all, this approach does not attempt to protect users from editing the same data. If two users open a record and make changes, the second user's changes will overwrite the first's in a "last-one-wins" situation. The first user's changes will be lost. Also, depending on how the system is implemented, this approach could lead to data corruption if two users attempt to save at the same moment.The way a software application deals with concurrency can affect the performance, usability, and data integrity of the system. Therefore, it is important to design tests to verify that the application properly handles concurrency, following the concurrency model that has been selected for the project.


Spec-India is Software Development Company that offers Mobile Software Application Development, ASP.Net Application Development, HandHeld Computer System Development, Outsourcing Software Development and .Net Framework Application Development.




View all articles by Venkatesh Pai

Link to this article:

Code to copy: <a href="http://www.dime-co.com/programming/What-is-application-concurrency.shtml">What is application concurrency?</a>




Related Articles...

HTML5 - The End of PSD to HTML Slicing Providers?

Oct 18, 2010 - 11:20:32 AM

In 2009 the World Wide Web Consortium (W3C) decided to concentrate their efforts on HTML5, a new revision of HTML, rather than XHTML2. HTML5 is strongly supported by Apple, Opera, Mozilla, Microsoft, Google and other leading IT companies and web browser developers. All this means that HTML5 is becoming a mainstream of the Internet.... [Read the full story]

Top 10 Points to Remember While Doing Web Development

Sep 17, 2010 - 6:44:25 AM

The web developers have a vital role to play in the success of the online business as they are actual programmers of the web site.  No one is going to fence on the fame of the web development in today’s competitive world. This is a high tech decade and you have to be on your toes all the time to contend well. The design of the website sets the tone for the success. If its attractive people would love it but if it’s not they are going to leave the page next moment.... [Read the full story]

Top 5 PHP Frame Work List to speed up your Programming efficiency

Jan 9, 2010 - 3:23:32 AM

PHP is a widely used and open source scripting language which designed for web development to build dynamic web pages. PHP Applications are normally hosted or found on Linux Servers. Its functionality same as Windows platform by Active Server Pages Technology.... [Read the full story]

Ethical Hacking for Strong Security

Jan 7, 2010 - 12:53:55 PM

Ethical hacking is a process that utilizes the same techniques that malicious hackers use, but for the purpose of assessing security threats to your organization’s information assets. Entities of all types (private businesses, government agencies, non-profit corporations, Hospitals, Universities, Etc.) need strong IT security now more than ever. It is imperative that IT security personnel learn “Black Hat” (malicious) hacking techniques in order to counter or prevent attacks on critical IT systems and assets.... [Read the full story]


Newest Articles in Popular Topics:

Business & Marketing Computers & the Internet Entertainment Health & Fitness
Finding Ways To Save Money And Maximize Revenue In Business
Cooper's Golf Park Tees Off Their New Website
Fiinovation Adjudged CSR Team of the Year & Caring Company at World CSR Day
Reasons Why Kale Realty is the Best Real Estate Firm in All of Chicago
Montreal Tech Startup Kangaroo Rewards Launches Mobile Loyalty Program for Local Merchants
It is time we break out of the SEO Shelter
3 Strong Reasons You Should Start Your Own Blog
Evolve Your Career With CompTIA A+ Certification Exam
High speed VMware Backups - Powered by UltraBlaze(™) from Vembu
Things to Consider When Selecting a Domain Name for Your Website
Fling Boom "Launches" This Holiday Season
Beautiful Abstract Canvas Art is Up for Grabs
Buying Art as a Gift: Tips From an Expert
Complete Guide to the 2014 Gatlinburg Fine Arts Festival Released by Jackson Mountain Homes
Learn Blues Music Online-Alternative to Traditional Piano Lessons
Causes and Treatment of Acne
What Type Of Constipation Home Remedies Are There?
Manual Wheelchairs: Buying One
Instant Facelift with Dental Implants
Lasik Surgery Leading Correction Of Vision Issues

Home & Family

Shopping

Sports

Travel
Enhance Your Learning Experience Through Best Responsive Elearning Development Tools
Best Apps for Learning German
Esvees is Cranbourne's Elite Hair Dressing Company
Ozone Generator
Practical Tips When Choosing Gates and Gate Openers for Your Home or Business
Why Cases are Required for Mobile Phones?
Are Dealership Services Worth It?
2015 Jeep Grand Cherokee Named Must-Shop SUV for Towing from AutoTrader.com
Online Selling With An Appraisal Advantage
Macsome AudioBook Converter released New Version V2.0.4
Aditi Ashok signs off with a double
Softball Coaching: Avoid Becoming A Nattering Nabob of Negativity
Softball Coaching Tips - The Funnel Approach
Pick Up Specialized Advice on Jumping Exercises Which Are Highly Effective
Vertical Jump Training Tactics to Increase Your Athletic Performance
Tips for Choosing the Right Paris Short Lets
Hostels - the best choice for working womens and college students
Perfect holiday? Book a cruise and sail in Croatia!
Say Aloha to Your Best Vacation Ever with Kohala Coast Properties
The Perfect Guide for a Fantastic Family Trip to Kansas City

 



Follow & Share Your Favorite Video Articles

Tell a Friend About This Site



Chamber of Commerce - on the Web logo



Subscribe to the eMarket SmartsTM Newsletter in order to keep up to date with what's happening with dime-co.com, get the emails on new video articles, featured articles, and more. Your privacy is always protected. We never rent, sell or trade your private information

:
:

Service provided by GetResponse Autoresponders


Recommended Associates


Latest Articles in All Categories


Putting Up a Small Commercial Printing Business
So You Might Be Unemployed And Desire To Become A San Francisco Real Estate Investor Now
Meditation and Mindfulness: Dealing With Emotion
CPA Websites: Five Essential Ideas for Composing Convincing Articles
Set Goals In Order to Come Up With Your Action Plan
Is the Air in Your Home Safe to Breathe?
Coarse Fishing Tackle Review: The JW Young 13ft Trotter Rod
Section 1031 Exchanges For San Diego Real Estate Investors
Phoenix Real Estate Investing For Highest Possible Earnings
Legendary are the Volk Racing TE37 Wheels
Developing the Next Generation Wall Station (ChaseDesk™) for Healthcare - A Case Study
What are step down transformers?
Introducing Sharehype, the Revolutionary Tool for Online Marketers
Rewards To Shopping For Austin Real Estate On The Web
Hydroponics for Beginners



Do you write?

Would you like submit your articles and have them approved on a priority status? Find out more about how you can become a Priority author for pennies a day! Click here.

Dime-co.com Home
  • Business (9328)
  • Computers & The Internet (5740)
  • Entertainment (1348)
  • Family (958)
  • Finance (1963)
  • Health (4246)
  • Home and Living (6670)
  • Marketing (6113)
  • Shopping & Product Reviews (2624)
  • Sports (694)
  • Travel and Vacations (1689)
  • Video Articles (1)
  • Editors Pick (1)