deason 2 rokov pred
rodič
commit
ff17e5f0bb

+ 38 - 4
examcloud-starters/examcloud-face-verify-starter/src/test/java/cn/com/qmth/examcloud/starters/face/verify/test/FaceVerifyTest.java

@@ -7,11 +7,14 @@ import cn.com.qmth.examcloud.starters.face.verify.service.impl.FaceVerifyService
 import org.junit.Test;
 
 import java.io.File;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 public class FaceVerifyTest {
 
     @Test
-    public void demo() {
+    public void demo() throws Exception {
         FaceVerifyProperties properties = new FaceVerifyProperties();
         properties.setFacePlusKey("xxx");
         properties.setFacePlusSecret("xxx");
@@ -33,18 +36,49 @@ public class FaceVerifyTest {
         File imageFile2 = new File("D:\\home\\test\\102.jpg");
 
         // FaceResult result = faceVerifyService.faceVerifyByBaidu(imageUrl);
-        // FaceResult result = faceVerifyService.faceVerifyByBaidu(imageFile1);
+        FaceResult result = faceVerifyService.faceVerifyByBaidu(imageFile1);
         // FaceResult result = faceVerifyService.faceDetectByBaidu(imageUrl);
         // FaceResult result = faceVerifyService.faceDetectByBaidu(imageFile1);
-        FaceResult result = faceVerifyService.faceCompareByBaidu(imageUrl, imageUrl2);
+        // FaceResult result = faceVerifyService.faceCompareByBaidu(imageUrl, imageUrl2);
         // FaceResult result = faceVerifyService.faceCompareByBaidu(imageFile1, imageFile2);
         // FaceResult result = faceVerifyService.faceDetectByFacePlus(imageUrl);
         // FaceResult result = faceVerifyService.faceDetectByFacePlus(imageFile1);
         // FaceResult result = faceVerifyService.faceCompareByFacePlus(imageUrl, imageUrl2);
         // FaceResult result = faceVerifyService.faceCompareByFacePlus(imageFile1, imageFile2);
-
         System.out.println("==================================================");
         System.out.println(new JsonHelper().toJson(result));
+
+        // concurrentTest(faceVerifyService, imageUrl, imageFile1);
+    }
+
+    private void concurrentTest(FaceVerifyServiceImpl faceVerifyService, String imageUrl, File imageFile) {
+        int threadNum = 20;
+        ExecutorService service = Executors.newCachedThreadPool();
+        final CountDownLatch commander = new CountDownLatch(1);
+        final CountDownLatch worker = new CountDownLatch(threadNum);
+
+        for (int n = 0; n < threadNum; n++) {
+            Runnable runnable = () -> {
+                try {
+                    FaceResult res = faceVerifyService.faceVerifyByBaidu(imageFile);
+                    System.out.println("线程:" + Thread.currentThread().getName() + " 结果:" + new JsonHelper().toJson(res) + "\n");
+                } catch (Exception e) {
+                    e.printStackTrace();
+                } finally {
+                    worker.countDown();
+                }
+            };
+            service.execute(runnable);
+        }
+
+        try {
+            commander.countDown();
+            worker.await();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        service.shutdown();
     }
 
 }