多线程,Task.Run错误'以下方法或属性之间的调用不明确'

埃姆雷·贝根(Emre BEGEN)

当我尝试构建项目时,显示以下错误消息。

该调用在以下方法或属性之间是不明确的:'​​System.Threading.Tasks.Task.Run(System.Action)'和'System.Threading.Tasks.Task.Run(System.Func)'

我怎样才能解决这个问题?

public static class MaintananceManager
    {
        private static ThreadSafeSocialMediaList<Post> PostList = new ThreadSafeSocialMediaList<Post>();
        private static ThreadSafeSocialMediaList<SocialUser> SocialUserList = new ThreadSafeSocialMediaList<SocialUser>();

        private static List<IPersistentProvider> providers = new List<IPersistentProvider>();
        private const int CACHESIZE = 1000;

        static MaintananceManager()
        {
            providers.Add(new SqlServerProvider());
            Task.Run(startMaintaining);

        }
        public static void PersistPosts(IEnumerable<Post> posts) 
        {
            PostList.AddRange(posts);
        }
        public static void PersistSocialUsers(IEnumerable<SocialUser> users)
        {
            SocialUserList.AddRange(users);
        }

        public static SocialUser GetSocialUser(SocialMediaType mediaType,string socialMediaId)
        {
            foreach(var provider in providers)
            {
                try
                {
                    return provider.GetSocialUser(mediaType, socialMediaId);
                }
                catch
                {

                }

            }
            return null;
        }
        private static void persistPosts()
        {
            var liste = PostList.Flush();
            foreach(var provider in providers)
            {
                provider.SavePosts(liste);
            }
        }
        private static void persistUsers()
        {
            var liste = SocialUserList.Flush();
            foreach (var provider in providers)
            {
                provider.SaveSocialUsers(liste);
            }
        }
        private static void startMaintaining()
        {
            while(true)
            {
                if (PostList.Count > CACHESIZE)
                    persistPosts();
                if (SocialUserList.Count > CACHESIZE)
                    persistUsers();

                Thread.Sleep(60000);

            }

        }

    }
格兰特·温尼

有几种方法可以将其作为有效值传递Action

Task.Run(() => startMaintaining());

Task.Run((Action)startMaintaining);

Task.Run(new Action(startMaintaining));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:以下方法或属性之间的调用不明确...需要帮助

来自分类Dev

下列方法或属性错误之间的调用不明确-C#Visual Studio 2019

来自分类Dev

CS0121 'Task.Run<TResult>(Func<TResult>)' 和 'Task.Run(Func<Task>)' 之间的调用不明确

来自分类Dev

以下方法之间的调用不明确

来自分类Dev

相同路径上的“以下方法或属性之间的调用不明确”

来自分类Dev

MVC:以下方法或属性之间的调用不明确

来自分类Dev

相同路径上的“以下方法或属性之间的调用不明确”

来自分类Dev

多线程:Task.Run 调用中 async 关键字的用途

来自分类Dev

C#在以下方法或属性之间的调用不明确:F(double)'和'F(decimal)'

来自分类Dev

使用Python多线程时的属性错误

来自分类Dev

Java多线程:线程不会完成run()方法

来自分类Dev

该调用在以下方法或属性之间是不明确的:'EntitiesLan.EntitiesLan()'和'EntitiesLan.EntitiesLan()'

来自分类Dev

Task.Run(Action) 是否启动一个新的线程 id 线程池中没有更多线程?

来自分类Dev

run()和start()之间的Java多线程区别

来自分类Dev

C ++多线程错误

来自分类Dev

使用float会导致“对重载函数的调用不明确”错误

来自分类Dev

“对'三角形'的调用不明确”错误

来自分类Dev

Python 多线程进入 Celery 任务。celery_task.update_state() 错误

来自分类Dev

多线程JNI调用

来自分类Dev

asp.net mvc核心下列方法或属性之间的调用不明确:

来自分类Dev

asp.net mvc核心下列方法或属性之间的调用不明确:

来自分类Dev

当我想要一个基本接口并从中实现时,调用在以下方法或属性之间是不明确的

来自分类Dev

Python多线程方法

来自分类Dev

多线程启动方法

来自分类Dev

多线程访问方法

来自分类Dev

多线程方法

来自分类Dev

Java中的多线程错误

来自分类Dev

组合框多线程错误

来自分类Dev

多线程分段错误(for循环)

Related 相关文章

  1. 1

    错误:以下方法或属性之间的调用不明确...需要帮助

  2. 2

    下列方法或属性错误之间的调用不明确-C#Visual Studio 2019

  3. 3

    CS0121 'Task.Run<TResult>(Func<TResult>)' 和 'Task.Run(Func<Task>)' 之间的调用不明确

  4. 4

    以下方法之间的调用不明确

  5. 5

    相同路径上的“以下方法或属性之间的调用不明确”

  6. 6

    MVC:以下方法或属性之间的调用不明确

  7. 7

    相同路径上的“以下方法或属性之间的调用不明确”

  8. 8

    多线程:Task.Run 调用中 async 关键字的用途

  9. 9

    C#在以下方法或属性之间的调用不明确:F(double)'和'F(decimal)'

  10. 10

    使用Python多线程时的属性错误

  11. 11

    Java多线程:线程不会完成run()方法

  12. 12

    该调用在以下方法或属性之间是不明确的:'EntitiesLan.EntitiesLan()'和'EntitiesLan.EntitiesLan()'

  13. 13

    Task.Run(Action) 是否启动一个新的线程 id 线程池中没有更多线程?

  14. 14

    run()和start()之间的Java多线程区别

  15. 15

    C ++多线程错误

  16. 16

    使用float会导致“对重载函数的调用不明确”错误

  17. 17

    “对'三角形'的调用不明确”错误

  18. 18

    Python 多线程进入 Celery 任务。celery_task.update_state() 错误

  19. 19

    多线程JNI调用

  20. 20

    asp.net mvc核心下列方法或属性之间的调用不明确:

  21. 21

    asp.net mvc核心下列方法或属性之间的调用不明确:

  22. 22

    当我想要一个基本接口并从中实现时,调用在以下方法或属性之间是不明确的

  23. 23

    Python多线程方法

  24. 24

    多线程启动方法

  25. 25

    多线程访问方法

  26. 26

    多线程方法

  27. 27

    Java中的多线程错误

  28. 28

    组合框多线程错误

  29. 29

    多线程分段错误(for循环)

热门标签

归档