在我的一个用例中,我需要从多个节点获取数据.每个节点都维护一个数据范围(分区).目标是尽可能快地读取数据.约束是,分区的基数在手头之前是未知的.使用工作共享方法,我可以将分区拆分为子分区并并行获取数据.这种方法的一个缺点是,一个线程有可能获取大量数据并花费更多时间,而另一个线程可以更快地完成.另一种方法是使用工作窃取,我们可以将分区分成更小的范围并使用ForkJoinPool.这种方法的缺点是,如果分区稀疏,我们可以多次往服务器往返,以实现子分区没有数据.
我的问题是,如果我想使用ForkJoinPool,任务可以执行一些I/O操作,我该怎么做?从FJ池的文档和我到目前为止阅读的最佳实践来看,似乎FJ池不利于阻止IO操作.如果我想使用非阻塞IO,我该怎么做?
我使用批处理脚本来设置该shell本地的一些环境变量.当我从该命令提示符启动PowerShell时,我希望PowerShell脚本中可以使用这些环境变量.但我没有看到这种情况发生.
有人可以帮助我,我错过了吗?