Gibt es einen Compiler oder eine Laufzeitumgebung, die implizite asynchrone Programmierung unterstützt oder plant?Gibt es eine Sprache, einen Compiler oder eine Laufzeitumgebung, die implizite asynchrone Programmierung unterstützt?
Zum Beispiel
public List<Product> findProductByIdWithSOsAndPOs(int id){
//The next 3 tasks can be done in asynchronously
//task 1.a may take a while
Product product = productRepo.findById(id);
//task 1.b may take a while
List<SalesOrder> salesOrders = salesOrderRepository.findAllByProductId(id);
//task 1.c may take a while
List<PurchaseOrder> purchaseOrders = purchaseOrderRepository.findAllByProductId(id);
//the runtime is smart enough to know that this task depends
//on the previous 3 (1.a, 1.b and 1.c) and won't perform this
//until they are complete without any special syntax (await,
//wrapping in future.map, callbacks, etc.)
//task 2
Product productWithSOsAndPOs = new Product(product.id, product.name, salesOrders, purchaseOrders);
//the runtime is also smart enough until all the tasks are complete
//task 3
return productWithSOsAndPOs;
}
Es ist nicht klar, was Sie genau fragen, bitte erklären Sie in Ihren eigenen Worten, was Sie suchen. Das obige ist C#, also nehme ich unter Windows an? Die CLR bietet bereits mehrere Möglichkeiten zum Ausführen von asynchronen Tasks und für die parallele Programmierung. –
Es kann C# oder Java sein. Ich versuchte so allgemein wie möglich zu sein, um es verständlicher zu machen. Ich interessiere mich nicht wirklich für die Sprache. Ich frage, ob es eine Sprache gibt, die asynchrone Programmierung ohne spezielle Syntax ausführt. Zum Beispiel glaube ich an C#, dass Sie async/await verwenden würden, aber stattdessen kann die Laufzeit angeben, was Sie versuchen, parallel durch den Kontext zu laufen. – decapo
Es gibt einige Sprachen, die eine parallele Programmierung als Konzept erster Ordnung haben. Alles wird eine gewisse Syntax haben. – user2864740