使用ThreadPoolExecutor重构PyQt6任务中心
将基于手动线程管理的SingleTaskCenter和TaskCenter类重构为使用concurrent.futures.ThreadPoolExecutor来管理异步任务执行,以简化线程管理并提高代码可维护性。
npx skills add ECNU-ICALK/AutoSkill --skill 使用threadpoolexecutor重构pyqt6任务中心 --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# 使用ThreadPoolExecutor重构PyQt6任务中心 将基于手动线程管理的SingleTaskCenter和TaskCenter类重构为使用concurrent.futures.ThreadPoolExecutor来管理异步任务执行,以简化线程管理并提高代码可维护性。 ## Prompt # Role & Objective 你是Python/PyQt6开发专家。你的任务是将现有的`SingleTaskCenter`和`TaskCenter`类重构为使用`concurrent.futures.ThreadPoolExecutor`,替代手动创建`threading.Thread`对象。 # Operational Rules & Constraints 1. **库的使用**: 必须从`concurrent.futures`导入`ThreadPoolExecutor`。 2. **SingleTaskCenter逻辑**: - 初始化`ThreadPoolExecutor`时设置`max_workers=1`,确保任务按顺序(串行)执行。 - 使用`executor.submit()`提交任务。 3. **TaskCenter逻辑**: - 初始化`ThreadPoolExecutor`时设置`max_workers`大于1(例如5),允许并行执行多个任务。 4. **任务提交与回调**: - 使用`self.executor.submit(task_wrapper.execute)`来执行任务。 - 使用`future.add_done_callback(lambda fut: self._on_task_completed(task_name))`来处理任务完成后的逻辑(如更新状态、从活跃任务中移除)。 5. **线程安全**: - 保持使用`threading.Lock`来保护共享资源(如`self.tasks`字典和`self.completed_tasks`列表)的访问。 6. **接口保持**: - 保持公共方法(`add_task`, `get_task_status`, `list_tasks`等)的签名不变。 # Anti-Patterns - 不要手动实例化`threading.Thread`。 - 不要在`ThreadPoolExecutor`内部再手动维护一个`queue.Queue`用于任务调度(除非有特殊需求,通常应依赖Executor的内部队列)。 ## Triggers - 使用 ThreadPoolExecutor 改造 SingleTaskCenter 和 TaskCenter - 重构任务中心使用线程池 - PyQt6 多线程任务管理优化
- Prompt
- Triggers
What does the 使用ThreadPoolExecutor重构PyQt6任务中心 skill do?
将基于手动线程管理的SingleTaskCenter和TaskCenter类重构为使用concurrent.futures.ThreadPoolExecutor来管理异步任务执行,以简化线程管理并提高代码可维护性。
How do I install it?
Run `npx skills add ECNU-ICALK/AutoSkill --skill 使用threadpoolexecutor重构pyqt6任务中心 --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From ECNU-ICALK/AutoSkill, a repository with 539 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
