I am happy to treat your question as a 'test case' for determining the scope of Code Review as part of the 'Beta site' definition of what is in scope.
It is my assertion, that your question is off topic. Any one of the following things makes your code off-topic:
Interfaces are a description of intent, not of implementation. Interfaces tell us what you want the code to do, not what the code actually does. As a result, there is no code to review, and we cannot tell you whether the code successfully implements the interface. Your question must include the code. An interface is not an implementation, it is a specification
you do not request a code review. Instead, you request three 'wants':
- thread safety
- code chunking
- chunk-completion notification
This suggests you are requesting features you do not yet have. To the best of my knowledge, does the code work? If you still want things from the code, then is it working yet?
Since we can't see the actual code, there is no way to tell whether it is actual code, or just vapourware. You tell us that it exists, but we can't see it. Is it actual code from a project rather than pseudo-code or example code? Since I can't tell, it's off-topic.
All three of those issues would have to be resolved before I would think that the code is on-topic.
As it stands, you are not looking for a code review, you are looking to discuss whether your design will meet your goals. Code Review is not the site for discussing good or bad designs. It is for discussing good, or bad implementations.
Your question clearly requests a design review, and not a review of the style and formatting of the interfaces you present. As a result, a review of those things would be of low value to you, and probably not appreciated.
If you had presented those interfaces, and requested a style review, I suspect that your question would be on topic, and a review would possibly look like:
interface ITaksManager : IDisposable
{
void BeginInvoke(params Action[] tasks);
event Action<Result> Completed;
}
Really, you should spell it "ITaskManager", and not "ITaksManager". Otherwise your indewntation is good, and the variable names are decent.
Obviously, this is not what you are seeking, so, based on what you have presented, the question is off-topic.