From 4fa2589807e4ab70680acaf5fe072e3944fddcf6 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期四, 24 四月 2025 17:17:01 +0800
Subject: [PATCH] GIL

---
 iailab-module-model/iailab-module-model-biz/src/main/resources/mpkResources/IAIL.MDK.Midware/include/PyGILThreadLock.h |   27 ++++++++++-----------------
 1 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/resources/mpkResources/IAIL.MDK.Midware/include/PyGILThreadLock.h b/iailab-module-model/iailab-module-model-biz/src/main/resources/mpkResources/IAIL.MDK.Midware/include/PyGILThreadLock.h
index 517103a..7f85cc7 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/resources/mpkResources/IAIL.MDK.Midware/include/PyGILThreadLock.h
+++ b/iailab-module-model/iailab-module-model-biz/src/main/resources/mpkResources/IAIL.MDK.Midware/include/PyGILThreadLock.h
@@ -16,32 +16,25 @@
 public:
 	PyGILThreadLock()
 	{
-		_save = NULL;
-		nStatus = 0;
-		nStatus = PyGILState_Check();   //检测当前线程是否拥有GIL
-		//PyGILState_STATE gstate;
-		if (!nStatus)
+		m_acquired = false;
+		//检测当前线程是否拥有GIL
+		if (!PyGILState_Check())
 		{
-			cout << "申请获取GIL" << endl;
-			gstate = PyGILState_Ensure();   //如果没有GIL,则申请获取GIL
-			nStatus = 1;
+			cout << "load GIL" << endl;
+			m_gil_state  = PyGILState_Ensure();   //如果没有GIL,则申请获取GIL
+			m_gil_state = true;
 		}
-		_save = PyEval_SaveThread();
-		PyEval_RestoreThread(_save);
 	}
 	~PyGILThreadLock()
 	{
-		_save = PyEval_SaveThread();
-		PyEval_RestoreThread(_save);
-		if (nStatus)
+		if (m_acquired)
 		{
-			cout << "释放当前线程的GIL" << endl;
+			cout << "reload GIL" << endl;
 			PyGILState_Release(gstate);    //释放当前线程的GIL
 		}
 	}
 
 private:
-	PyGILState_STATE gstate;
-	PyThreadState *_save;
-	int nStatus;
+	PyGILState_STATE m_gil_state;
+	bool m_acquired;
 };
\ No newline at end of file

--
Gitblit v1.9.3