flush:
This directive, whether explicit or implied, identifies a sequence point at which the implementation is required to ensure that each thread in the team has a consistent view of certain variables in memory: the same correct value has to be seen by all threads.
order:
In certain do-loops some of the statements executed at each iteration need to be evaluated in the same order as if the do-loop would be executed sequentially
关于前者,没弄明白是什么意思,就知道跟atomic是差不多的作用(但既然作用差不多那这个功能到底与之有什么区别呢?);
关于后者,按我的理解,使用后一条指令之后循环就只能按顺序进行了,那样的话在这里做的并行计算还有什么意义呢?