我可以使用<!-- Form file -->
<form id="postnotes" name="postnotes" action="./mechanic/comments.php" method="post">
<textarea id="comments" class="comments" rows="4" name="comment" cols="50" placeholder="Make a note"></textarea>
</form>
<script type="text/javascript">
$(function() {
$('textarea#comments').on('keyup', function(e) {
if (e.which == 27 && ! e.shiftKey) {
document.getElementById("postnotes").submit();
}
});
});
</script>
<!-- file comments -->
<?php if(isset($_POST['postnotes'])){
echo 'hello its me your looking for';
}
else{echo 'nope srry';}
?>
或Arrays.stream(array)
从数组创建一个Stream。同样,是否可以直接从数组创建ParallelStream而无需像Stream.of(values)
那样创建中间集合?
答案 0 :(得分:31)
Stream.of(array).parallel()
Arrays.stream(array).parallel()
答案 1 :(得分:0)
TLDR;
通过调用Stream
可以将任何顺序的.parallel()
转换为并行的parallel()
。因此,您所需要做的就是:
BaseStream
。好答案
这个问题已经很老了,但是我相信一些额外的解释将使事情变得更加清楚。
Java流的所有实现都实现接口BaseStream::isParallel
。根据JavaDoc,哪个是:
流的基本接口,流是支持顺序和并行聚合操作的元素序列。
从API的角度来看,顺序流和并行流之间没有区别。它们共享相同的聚合操作。
为了区分顺序流和并行流,聚集方法调用isParallel
方法。
让我们探索AbstractPipeline
中@Override
public final boolean isParallel() {
return sourceStage.parallel;
}
方法的实现:
isParallel
如您所见,/**
* True if pipeline is parallel, otherwise the pipeline is sequential; only
* valid for the source stage.
*/
private boolean parallel;
唯一要做的就是在源阶段检查布尔标志:
parallel()
那么@Override
@SuppressWarnings("unchecked")
public final S parallel() {
sourceStage.parallel = true;
return (S) this;
}
方法会做什么?它如何将顺序流转换为 parallel 流?
parallel
好吧,它只会将true
标志设置为@echo off
for /d %%a in (\\MIGRATE01\content\*) do (
pushd "%%a"
set x=%%~nxa
echo no_match=E:\Nomatch\%%~nxa\)>"E:\Testing\prop_file1.txt"
E:\oracle1_run.bat --context=Default --context_param prop_file=E:\Testing\prop_file1.txt
popd
)
popd
del "E:\Testing\prop_file1.txt"
。这就是全部。
如您所见,在Java Stream API的当前实现中,如何创建流(或将其作为方法参数接收)都无关紧要。您始终可以将流变成零成本的并行流。