If more requests are made while the 10 long-running requests are still running, they’re denied.
Salesforce allows you to have a limit of 10 long running requests per ORG, where long running requests are defined as processes taking over 5 seconds. Once you have reached the limit of 10, Salesforce will block any other Apex request until one or more of the 10 long running requests finishes. There are no queues, as soon as the limit is reached, Salesforce throws the error (ConcurrentPerOrgApex Limit Exceeded) until the customer is below the limit.
Example #1:
You could have 9 Apex requests running for 10 minutes. The 10th comes in and runs for 30 seconds. 5 seconds into the 10th’s run, Salesforce will block any other long (over 5 seconds) Apex requests. As soon as one of the 10 long running requests frees up (in this example 25 seconds later) you can then start to process other long (over 5 seconds) Apex request.
Example #2:
Let’s suppose you have a large ORG with thousands of users and they are all using Apex code, and they all use the system throughout the day, you have times when there are thousands of Apex requests going on every second. But, if there is an admin in your company doing something that you are not aware of and they are using 3 long running Apex requests, and in your other running jobs, you have 7 that take just over 5 seconds and the rest take 0.1 seconds, you would not see the error.
Note: You can execute as many Apex request as you want without hitting the error, as long as none of those requests take over 5 seconds.
Thanks, Shanu