Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 551445
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T11:23:40+00:00 2026-05-13T11:23:40+00:00

I have read that PHPs probable weakness is how it handles concurrency. With only

  • 0

I have read that PHPs “probable” weakness is how it handles “concurrency”. With only sessions and cookies to keep track of user state, how can PHP handle the following situations with high accuracy:

  1. multiple users check out with one item that has only 1 stock in inventory (sorry for grammar mistakes, but you pretty much get the picture already)

  2. multiple users logging into the same user account using the same login details

  3. multiple users editing an the same image at the same time (though this rarely happens in real life)

or any other transactions that demands multiple thread handling

(I apologize if I misused terms here)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T11:23:41+00:00Added an answer on May 13, 2026 at 11:23 am

    These aren’t real concurrency issues. While it’s true that PHP as an environment lacks in thread capability, any web server utilizing a PHP module will have multiple threads, each with thier own active PHP environment inside it, all utilizing the same resources. You would run into these problems with Java, .Net, Perl, or any other web application language.

    1. You need a transaction on your database, probably with a write lock so that other users can’t read it and run the checkout process while someone else is checking out. This is not a language thread issue, it’s a database transactional issue.
    2. This isn’t a threading issue either. Sessions are fairly trivial with all the tools available, and I’ve never heard of a “one thread per session” style of implementation on any language platform (that would be non-trivial, difficult to implement, and would just add overhead). You either allow multiple session tokens to be active for one account (user can log in multiple times on different tabs or web browsers if they want), or you don’t (all session tokens are cleared each time a login procedure occurs so that only one token is active).
    3. An odd one, but I’m not sure how threading fits here either. Image editing would have to be done client-side in the browser. You can’t keep “threads” open to a user’s browser in any language… HTTP doesn’t work like that. You’d send them the image and you’re done until they hit “save” and send it back. If you’re worried about users overwriting each other’s changes, again, you’d just have to put a transactional lock on it. I’d probably just “version” each image, and if an update occurred from one user while another was editing it, you’d inform the other user that they needed to refresh their copy.

    As far as I’m aware, no language uses threads to accomplish any of these tasks. Because of the stateless nature of HTTP communication, cookies are sessions are a mainstay of every web language, so no matter what platform you use, you’re going to see very much the same strategy in all of them for handling a given problem.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have read that using database keys in a URL is a bad thing
I have read that while plug-ins are not supported for SQL Server Management Studio,
I have read that private variables in a base class are technically inherited by
Apparently I can't move files on different volumes using Directory.Move. I have read that
Everything I have read says that when making a managed stored procedure, to right
I have read a lot that LISP can redefine syntax on the fly, presumably
I have a read query that I execute within a transaction so that I
I have read on Stack Overflow some people that have converting to C#2.0 to
I have read (or perhaps heard from a colleague) that in .NET, TransactionScope can
I have read in some of the ClickOnce posts that ClickOnce does not allow

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.