private void createMultiplePartitionedRegions() {
    if (PRCreateDone) {
      return;
    }
    int numthread = 0;
    long giveupTime = System.currentTimeMillis() + GeodeAwaitility.getTimeout().toMillis();
    while (numthread < TOTAL_THREADS && giveupTime > System.currentTimeMillis()) {
      PartionedRegionCreateThread pregionThread = new PartionedRegionCreateThread();
      pregionThread.start();
      regionCreationThreads.add(pregionThread);
      numthread++;
    }
    assertTrue(numthread >= TOTAL_THREADS);
    GeodeAwaitility.await().until(() -> {
      synchronized (CREATE_COMPLETE_LOCK) {
        return createComplete;
      }
    });
    PRCreateDone = true;
  }
creates multiple partitioned region from different threads.
geode-core/src/integrationTest/java/org/apache/geode/internal/cache/PartitionedRegionCreationJUnitTest.java