我正在阅读MVVM并且在我的生活中无法分辨MVVM的"模型视图"与MVC中的"控制器"完全不同,如Cocoa编程中所使用的那样.
我甚至读过一些对别人来说应该是'aha'时刻的解释,但仍未能发现差异.我所做的有限的Cocoa GUI编程涉及将控制器作为管理从视图到模型的数据的中心点,使用键值观察.
在所有重要的方面,在我看来,"模型 - 视图"的作用除外,它可能是与.Net中的WPF < - > C#桥相关的微妙实现差异.也就是说,如果使用与应用程序代码不同的语言指定Cocoa GUI,则Cocoa中的MVC可能被称为MVVM,并且控制器使用与GUI相同的语言而不是应用程序进行编码(即,在XAML中指定WPF而不是C#).
或者在非Cocoa环境中的MVC,没有所有键值观察等,与在Cocoa中应用的MVC有很大不同,这导致人们发现MVVM和MVC之间存在比我更大的差异.
我疯了吗?请教育我.
我想在大量不同的输入文件上运行相同的程序。我可以将每个作为单独的 Slurm 提交提交,但我不想通过一次在队列上倾倒 1000 个作业来淹没队列。我一直在试图弄清楚如何通过先创建分配来处理相同数量的文件,然后在该分配中使用 srun 循环遍历所有文件,从分配中为每个调用提供一个核心。问题是无论我做什么,一次都只运行一个作业步骤。我能想到的最简单的测试用例是:
#!/usr/bin/env bash
srun --exclusive --ntasks 1 -c 1 sleep 1 &
srun --exclusive --ntasks 1 -c 1 sleep 1 &
srun --exclusive --ntasks 1 -c 1 sleep 1 &
srun --exclusive --ntasks 1 -c 1 sleep 1 &
wait
Run Code Online (Sandbox Code Playgroud)
我分配多少核并不重要:
time salloc -n 1 test
time salloc -n 2 test
time salloc -n 4 test
Run Code Online (Sandbox Code Playgroud)
它总是需要 4 秒。是否不可能并行执行多个作业步骤?