Sharll-large / FMCL

A Python Minecraft Launcher wants to create a new minecraft launcher developing period for Python developers.
MIT License
16 stars 2 forks source link

线程理论问题 #20

Open Sharll-large opened 9 months ago

Sharll-large commented 9 months ago

FMCL目前使用一个公共的线程池

但是当下载任务执行时,线程池会被填满,其他多线程任务无法执行

大家可以讨论一下最可行的解决方案?

Sharll-large commented 9 months ago
  1. ui限制:下载任务时无法使用ui其他功能,直到下载完毕或用户主动结束下载(参考HMCL)

  2. 程序:分出多个线程池,线程总量不变(如正常情况下32,有两个下载任务就16+16)

  3. 程序:分两个线程池,一个下载,一个干别的

Sharll-large commented 9 months ago

我去看一眼PCL的解决方案()

pxinz commented 9 months ago

理论可行方案:动态分配
不过只是理论可行罢了(

mc-124 commented 9 months ago

额……在线程里面创建下载线程……? 你们的代码写得好奇怪啊

Sharll-large commented 9 months ago

额……在线程里面创建下载线程……? 你们的代码写得好奇怪啊

听不懂

Sharll-large commented 9 months ago

主线程(即UI线程)里面,往线程池提交任务

mc-124 commented 9 months ago

这启动器项目,也没多大多复杂,不用啥都用线程池吧……

LJS08 commented 8 months ago

UI现场和下载线程分开... 给下载专门开个线程池