Существует ли какой-либо компилятор или среда выполнения, которая выполняет или планирует поддерживать неявное асинхронное программирование.Есть ли язык, компилятор или среда выполнения, которая поддерживает неявное асинхронное программирование
Например
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;
}
Непонятно, что именно вы просите, пожалуйста, объясните своими словами, что вы ищете. Вышеупомянутый C#, поэтому я предполагаю, что в Windows? CLR уже имеет несколько способов выполнения асинхронных задач и для параллельного программирования. –
Это может быть C# или Java. Я старался быть как можно более общим, чтобы сделать его более понятным. Я не очень обеспокоен языком. Я спрашиваю, есть ли язык, который выполняет асинхронное программирование без какого-либо специального синтаксиса. Например, я верю в C#, что вы будете использовать async/await, но вместо этого среда выполнения может сказать, что вы пытаетесь запустить параллельно контексту. – decapo
Есть несколько языков, которые имеют параллельное программирование в качестве концепции первого порядка. Все будет иметь «некоторый уровень» синтаксиса. – user2864740