async
This commit is contained in:
parent
0fb9f1aa13
commit
40f25a4f4c
2 changed files with 82 additions and 28 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit d9b6b42b847a86423577b66a74320fe90669fc2e
|
Subproject commit 5987cc26521d839bf81bdaab19d101488294da19
|
||||||
|
|
@ -87,45 +87,99 @@ namespace WPFCatalog
|
||||||
//private List<ImageTask> _tasks;
|
//private List<ImageTask> _tasks;
|
||||||
private async void Start()
|
private async void Start()
|
||||||
{
|
{
|
||||||
Task outerTask = new Task(() =>
|
//Task outerTask = new Task(() =>
|
||||||
{
|
//{
|
||||||
var tasks = new List<Task>();
|
// Stopwatch s = new Stopwatch();
|
||||||
// todo folder mode
|
|
||||||
MaddoLogger.Log("Starting elaboration");
|
|
||||||
foreach (var file in Directory.EnumerateFiles(PicSettings.DirectorySorgente))
|
|
||||||
{
|
|
||||||
//Task t = new Task(() =>
|
|
||||||
//{
|
|
||||||
|
|
||||||
// //CompleteFile(file);
|
// var tasks = new List<Task>();
|
||||||
//});
|
// // todo folder mode
|
||||||
tasks.Add(FileTask(file));
|
// MaddoLogger.Log("Starting elaboration");
|
||||||
//_tasks.Add(new ImageTask() { ImageName = file, TaskImage = t, Completed = false });
|
// foreach (var file in Directory.EnumerateFiles(PicSettings.DirectorySorgente))
|
||||||
//t.Start();
|
// {
|
||||||
|
// //Task t = new Task(() =>
|
||||||
|
// //{
|
||||||
|
|
||||||
|
// // //CompleteFile(file);
|
||||||
|
// //});
|
||||||
|
// var t = FileTask(file);
|
||||||
|
// if (t != null)
|
||||||
|
// {
|
||||||
|
// tasks.Add(t);
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// MaddoLogger.LogError("Task was null for file: {0}", file);
|
||||||
|
// }
|
||||||
|
// //_tasks.Add(new ImageTask() { ImageName = file, TaskImage = t, Completed = false });
|
||||||
|
// //t.Start();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
// s.Start();
|
||||||
|
|
||||||
Task.WhenAll(tasks).Start();
|
// await Task.WhenAll(tasks);
|
||||||
|
|
||||||
//tt.RunSynchronously();
|
// Task.WhenAll(tasks).Start();
|
||||||
MaddoLogger.Log("Finished");
|
// s.Stop();
|
||||||
DialogHelper.PopUpAlert("Finished", "message");
|
// //tt.RunSynchronously();
|
||||||
});
|
// MaddoLogger.Log("Finished: {0}, {1}", s.Elapsed, s.ElapsedMilliseconds);
|
||||||
|
// DialogHelper.PopUpAlert($"Finished: {s.Elapsed}, {s.ElapsedMilliseconds}", "message");
|
||||||
|
//});
|
||||||
|
|
||||||
|
Task outerTask = OuterTask();
|
||||||
|
|
||||||
outerTask.Start();
|
await outerTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task FileTask(string file)
|
private async Task OuterTask()
|
||||||
|
{
|
||||||
|
Stopwatch s = new Stopwatch();
|
||||||
|
|
||||||
|
var tasks = new List<Task>();
|
||||||
|
// todo folder mode
|
||||||
|
MaddoLogger.Log("Starting elaboration");
|
||||||
|
foreach (var file in Directory.EnumerateFiles(PicSettings.DirectorySorgente))
|
||||||
|
{
|
||||||
|
//Task t = new Task(() =>
|
||||||
|
//{
|
||||||
|
|
||||||
|
// //CompleteFile(file);
|
||||||
|
//});
|
||||||
|
var t = FileTask(file);
|
||||||
|
if (t != null)
|
||||||
|
{
|
||||||
|
tasks.Add(t);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MaddoLogger.LogError("Task was null for file: {0}", file);
|
||||||
|
}
|
||||||
|
//_tasks.Add(new ImageTask() { ImageName = file, TaskImage = t, Completed = false });
|
||||||
|
//t.Start();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
s.Start();
|
||||||
|
|
||||||
|
await Task.WhenAll(tasks);
|
||||||
|
|
||||||
|
//Task.WhenAll(tasks).Start();
|
||||||
|
s.Stop();
|
||||||
|
//tt.RunSynchronously();
|
||||||
|
MaddoLogger.Log("Finished: {0}, {1}", s.Elapsed, s.ElapsedMilliseconds);
|
||||||
|
DialogHelper.PopUpAlert($"Finished: {s.Elapsed}, {s.ElapsedMilliseconds}", "message");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private async Task FileTask(string file)
|
||||||
{
|
{
|
||||||
MaddoLogger.Log("Starting task for image {0}", file);
|
MaddoLogger.Log("Starting task for image {0}", file);
|
||||||
IImageProcessor i = new ImgSharpCreator();
|
IImageProcessor i = new ImgSharpCreator();
|
||||||
|
await Task.Run(() => i.Start(new FileInfo(file)));
|
||||||
|
|
||||||
|
|
||||||
//ImageCreator2 i = new ImageCreator2();
|
|
||||||
i.Start(new FileInfo(file));
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CompleteFile(string file)
|
private void CompleteFile(string file)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue