gibi, diyagram aynı iş parçacığı üzerinde çalışacak, numSummer
ve charConcat
hem işaret ediyor.
Her Future
'u paralel olarak, yani ayrı iş parçacıklarında çalıştırmak mümkün mü?
gibi, diyagram aynı iş parçacığı üzerinde çalışacak, numSummer
ve charConcat
hem işaret ediyor.
Her Future
'u paralel olarak, yani ayrı iş parçacıklarında çalıştırmak mümkün mü?
soldaki resim, paralel olarak çalışan şeklindedir.
Resimdeki nokta, Future.apply
yönteminin çalıştırmayı başlatmasıdır. Bu nedenle, ilk gelenin sonucu flatMap
ed (sağdaki resimde olduğu gibi) olduğu sürece olmazsa Paralel yürütmeyi yap.
(. o parallelizes Nasıl farklı bir sorudur "başladı" tarafından, i iş hakkında anlatılıyor ilgili ExecutionContext
demek unutmayın ve iş parçacığı havuzu boyutu gibi etkenlere bağlı olabilir.)
Eşdeğer sol için kod:
Future { ... } // execution kicked off
.flatMap { numsum =>
Future { ... } // execution kicked off (Note that this does not happen until
// the first future's result (`numsum`) is available.)
.map { string =>
(numsum, string)
}
}
Muhtemelen, figür çağrılmalıdır "Flatma:
ve hakkı için Birbirine eşzamanlı olarak çarpma ", soldakiin eşzamanlı olduğu göz önüne alındığında .... – mdm
Fakat" eşzamanlı "aynı parçayı tekrar kullanmak anlamına gelir, hayır? –
Mutlaka, anladığım kadarıyla değil. http://stackoverflow.com/questions/1897993/difference-between-concurrent-programming-and-parallel-programming veya https://blogs.oracle.com/yuanlin/entry/concurrency_vs_parallelism_concurrent_programming; yürütmeler arasında çakışma olmadığında sıralı olur. – mdm