OSDN Git Service

Task.Factory.StartNew() が使われている箇所を Task.Run() に置き換え
authorKimura Youichi <kim.upsilon@bucyou.net>
Fri, 21 Mar 2014 18:30:52 +0000 (03:30 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Wed, 26 Mar 2014 14:20:35 +0000 (23:20 +0900)
 * Task.Run() はデフォルトで TaskScheduler.Default 指定
\r * Unwrap() が必要な箇所は Task.Run() 側で展開される

OpenTween.Tests/TweetThumbnailTest.cs
OpenTween/ImageCache.cs
OpenTween/ImageListViewItem.cs
OpenTween/Thumbnail/Services/TonTwitterCom.cs
OpenTween/Tween.cs
OpenTween/TweetThumbnail.cs

index fa6c17d..c38793e 100644 (file)
@@ -70,7 +70,7 @@ namespace OpenTween
             {
                 public override Task<MemoryImage> LoadThumbnailImageAsync(CancellationToken token)
                 {
-                    return Task.Factory.StartNew(() => MemoryImage.CopyFromBytes(File.ReadAllBytes("Resources/" + this.ThumbnailUrl)), token);
+                    return Task.Run(() => MemoryImage.CopyFromBytes(File.ReadAllBytes("Resources/" + this.ThumbnailUrl)), token);
                 }
             }
         }
index 40690af..59b8197 100644 (file)
@@ -92,7 +92,7 @@ namespace OpenTween
         {
             var cancelToken = this.cancelTokenSource.Token;
 
-            return Task.Factory.StartNew(() =>
+            return Task.Run(() =>
             {
                 Task<MemoryImage> cachedImageTask = null;
                 lock (this.lockObject)
@@ -125,7 +125,7 @@ namespace OpenTween
                         return imageTask;
                     }
                 }
-            }, cancelToken, TaskCreationOptions.None, TaskScheduler.Default).Unwrap();
+            }, cancelToken);
         }
 
         public MemoryImage TryGetFromCache(string address)
index ca24578..e4380f9 100644 (file)
@@ -66,7 +66,7 @@ namespace OpenTween
         private Task GetImageAsync(bool force = false)
         {
             if (string.IsNullOrEmpty(this.imageUrl))
-                return Task.Factory.StartNew(() => { });
+                return Task.FromResult(0);
 
             var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
 
index e70cba2..44d7e1c 100644 (file)
@@ -61,7 +61,7 @@ namespace OpenTween.Thumbnail.Services
         {
             public override Task<MemoryImage> LoadThumbnailImageAsync(CancellationToken token)
             {
-                return Task.Factory.StartNew(() =>
+                return Task.Run(() =>
                 {
                     var oauth = new HttpOAuthApiProxy();
                     TonTwitterCom.InitializeOAuthToken(oauth);
@@ -76,8 +76,7 @@ namespace OpenTween.Thumbnail.Services
                         else
                             throw new WebException(statusCode.ToString(), WebExceptionStatus.ProtocolError);
                     }
-                },
-                token, TaskCreationOptions.None, TaskScheduler.Default); // 明示しないと TaskScheduler.Current になり UI スレッド上で実行されてしまう
+                }, token);
             }
         }
     }
index 95353cc..142335d 100644 (file)
@@ -7898,7 +7898,7 @@ namespace OpenTween
             var statusId = long.Parse(match.Groups["StatusId"].Value);
             var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
 
-            Task.Factory.StartNew(() =>
+            Task.Run(() =>
                 {
                     var post = this._statuses[statusId];
                     if (post == null)
@@ -7908,7 +7908,7 @@ namespace OpenTween
                             throw new WebApiException(err);
                     }
                     return post;
-                }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default)
+                })
                 .ContinueWith(t =>
                 {
                     if (t.IsFaulted)
@@ -10620,7 +10620,7 @@ namespace OpenTween
 
         public Task OpenUriAsync(string UriString)
         {
-            return Task.Factory.StartNew(() =>
+            return Task.Run(() =>
             {
                 string myPath = UriString;
 
index 2f582e6..bb12b4a 100644 (file)
@@ -69,7 +69,7 @@ namespace OpenTween
             var cancelToken = this.cancelTokenSource.Token;
             var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
 
-            this.task = Task.Factory.StartNew(() => this.GetThumbailInfo(post), cancelToken, TaskCreationOptions.None, TaskScheduler.Default)
+            this.task = Task.Run(() => this.GetThumbailInfo(post), cancelToken)
                 .ContinueWith(t => /* await使いたい */
                 {
                     var thumbnails = t.Result;