如果您有很多需要不断处理的逻辑任务,并且希望并行执行,请使用pool + scheduler。
如果您需要同时执行与IO相关的任务(例如从远程服务器下载内容或访问磁盘),但是需要每隔几分钟执行一次 *** 作,那么请创建自己的线程并在完成后杀死它们。
编辑:关于一些注意事项,我将线程池用于数据库访问,物理/模拟,AI(游戏),以及用于在处理许多用户定义任务的虚拟机上运行的脚本任务。
通常,一个处理器池由每个处理器2个线程组成(现在大概是4个),但是,如果知道需要多少线程,则可以设置所需的线程数量。
编辑:制作自己的线程的原因是由于上下文的更改,(即当线程需要与它们的内存一起换入和换出该进程时)。进行无用的上下文更改(例如,当您不使用线程时),就像他们所说的那样,将它们闲置一圈,很容易会使程序性能降低一半(例如,您有3个睡眠线程和2个活动线程)。因此,如果这些下载线程仅在等待,它们将消耗大量的CPU并冷却实际应用程序的缓存
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)