Opened 3 years ago

Last modified 5 months ago

#2258 reviewing enhancement

Executable.Start executes it asynchronously

Reported by: mkommend Owned by: abeham
Priority: medium Milestone: HeuristicLab 3.3.15
Component: Optimization Version: 3.3.10
Keywords: Cc:

Description

While the name suggests that this method is executed synchronously, it runs in fact asynchronously. Hence, in every script and program code synchronization mechanisms must be used to wait until the executable is finished. It would be better to have a separate way to start the executable in a synchronous way.

The standard in the .NET framework is that asynchronous methods have the postfix async attached to the method name, which would lead to the two methods Start and StartAsync. Though, changing the semantics of Start from asynchronous to synchronous execution would require lots of code changes and break existing script. Maybe, it would be better to add a method StartSync to the executable interface.

Change History (17)

comment:1 Changed 2 years ago by swagner

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.11
  • Owner changed from architects to swagner
  • Status changed from new to assigned

comment:2 Changed 2 years ago by ascheibe

I think we should make this change after switching to .NET4.5 and then add a StartAsync Method which adhears to the TAP. We could maybe then even return Task<ResultCollection>?

Last edited 2 years ago by ascheibe (previous) (diff)

comment:3 Changed 2 years ago by swagner

r11614: Created branch Async

comment:4 Changed 2 years ago by swagner

r11641: Deleted branch Async

comment:5 Changed 2 years ago by swagner

r11642: Created branch Async again in order to include latest changes regarding the switch to .NET 4.5

comment:6 Changed 2 years ago by ascheibe

  • Milestone changed from HeuristicLab 3.3.11 to HeuristicLab 3.3.12

comment:7 Changed 22 months ago by ascheibe

  • Milestone changed from HeuristicLab 3.3.12 to HeuristicLab 3.3.13

comment:8 Changed 18 months ago by ascheibe

  • Milestone changed from HeuristicLab 3.3.13 to HeuristicLab 4.0

comment:9 Changed 17 months ago by jkarder

  • Owner changed from swagner to jkarder
  • Status changed from assigned to accepted

comment:10 Changed 17 months ago by jkarder

r13328: deleted branch Async

comment:11 Changed 17 months ago by jkarder

r13329: created branch Async

comment:12 Changed 17 months ago by jkarder

r13349: added StartAsync to IExecutable

comment:13 Changed 17 months ago by jkarder

r13354: improved cancellation support

comment:14 Changed 17 months ago by jkarder

r13355: updated unit test utils

comment:15 Changed 16 months ago by ascheibe

  • Owner changed from jkarder to ascheibe
  • Status changed from accepted to reviewing

comment:16 Changed 11 months ago by ascheibe

  • Owner changed from ascheibe to mkommend

comment:17 Changed 5 months ago by jkarder

  • Milestone changed from HeuristicLab 4.0 to HeuristicLab 3.3.15
  • Owner changed from mkommend to abeham
Note: See TracTickets for help on using tickets.