Oxygene’s non-asynchronous future
type doesn’t seem to work. Below code shows that the future value retrieval is BLOCKED indefinitely at the line var sum := num1 + num2;
ConsoleApplication.7z (5.7 KB)
namespace ConsoleApplication;
type
Program = class
public
class method GetNumber_1: Integer;
begin
writeLn('Getting Nummber 1');
exit 1;
end;
class method GetNumber_2: Integer;
begin
writeLn('Getting Nummber 2');
exit 2;
end;
class method Main(args: array of String): Int32;
begin
var num1: future Integer := GetNumber_1;
var num2: future Integer := GetNumber_2;
writeLn('Before Sum');
var sum := num1 + num2; // The calculation is expected to occur here, but the program just hangs here.
writeLn('After Sum');
writeLn('Sum is {0}', sum);
readLn();
end;
end;
end.