   Threads::Mutex mx;
   mx.lock();
   r = mx.try_lock();
-  if (r == 0) Serial.println("OK"); 
+  if (r == 0) Serial.println("OK");
   else Serial.println("***FAIL***");
 
   Serial.print("Test mutex lock thread ");
   id1 = threads.addThread(my_priv_func_lock, &mx);
   delayx(200);
-  if (p4 == 0) Serial.println("OK"); 
+  if (p4 == 0) Serial.println("OK");
   else Serial.println("***FAIL***");
 
   Serial.print("Test mutex unlock ");
   mx.unlock();
   delayx(500);
-  if (p1 != 0) Serial.println("OK"); 
-  else Serial.println("***FAIL***");
+  if (p1 != 0) Serial.println("OK");
+  else Serial.println("***FAIL***");
+
+  Serial.print("Test fast locks ");
+  id1 = threads.addThread(lock_test1);
+  id2 = threads.addThread(lock_test2);
+  id3 = threads.addThread(lock_test3);
+  delayx(1000);
+  threads.kill(id1);
+  threads.kill(id2);
+  threads.kill(id3);
+  if (count1 - count2 > 1000 || count2 - count1 > 1000) Serial.println("***FAIL***");
+  else if (count1 - count3 > 1000 || count3 - count1 > 1000) Serial.println("***FAIL***");
+  else Serial.println("OK");
+
+  Serial.print(count1);
+  Serial.print(" ");
+  Serial.print(count2);
+  Serial.print(" ");
+  Serial.print(count3);
+  Serial.println();
 
   Serial.print("Test std::mutex lock ");
   std::mutex g_mutex;
   {
     std::lock_guard<std::mutex> lock(g_mutex);
-    if (g_mutex.try_lock() == 0) Serial.println("OK"); 
+    if (g_mutex.try_lock() == 0) Serial.println("OK");
     else Serial.println("***FAIL***");
   }
 
   Serial.print("Test std::mutex unlock ");
-  if (g_mutex.try_lock() == 1) Serial.println("OK"); 
+  if (g_mutex.try_lock() == 1) Serial.println("OK");
   else Serial.println("***FAIL***");
   g_mutex.unlock();
-  
+
   Serial.print("Test Grab init ");
   subinst.h(10);
   ThreadWrap(subinst, sub2);

  uint32_t mx = millis();
  while(millis() - mx < 500) p1++;
  m->unlock();
}

void showp() {

    Threads::Suspend lock;
    save_p = p1;
    delayx(500);
    if (save_p == p1) Serial.println("OK");
    else Serial.println("***FAIL***");
  }

  Serial.print("Test basic unlock ");
  delayx(500);
  if (save_p != p1) Serial.println("OK");
  else Serial.println("***FAIL***");


