++currentJobs;
}
}
private:
void executeVitrificationTask() {
// 在这里实现固晶任务的具体逻辑
std::cout << "Executing vitrification task..." << std::endl;
// 模拟固晶任务耗时
std::this_thread::sleep_for(std::chrono::seconds(1));
// 任务完成,通知其他线程
{
std::lock_guard<std::mutex> lock(mutex);
--currentJobs;
}
condition.notify_all();
}
JPAxisController axisController;
int maxJobs;
int currentJobs;
std::mutex mutex;
std::condition_variable condition;
};
int main() {
const int axisCount = 3; // 假设有3个轴
const int maxJobs = 5; // 最大同时执行的任务数