C# 服务与线程
我应该使用什么来制作一个能够:C# 服务与线程,c#,android,multithreading,xamarin,C#,Android,Multithreading,Xamarin,我应该使用什么来制作一个能够: 询问用户用户名和密码 授权 运行一个infinite循环,每隔10秒左右从网站获取一些数据 我希望在此期间能够完成一些基本任务,或者锁定屏幕而不会导致线程死机。我不希望服务在关闭应用程序后继续运行,我只想确保线程在长时间运行时不会被终止 我还想问:服务是否像线程一样易于交互?我可以在其中传递一个CancellationToken,并在用户按下停止按钮时取消它吗 我还发现了setThreadPriority,它对我有帮助吗?服务和线程是完全不同的概念。线程是并行执行
CancellationToken
,并在用户按下停止按钮时取消它吗
我还发现了
setThreadPriority
,它对我有帮助吗?服务和线程是完全不同的概念。线程是并行执行的独立进程。服务是应用程序的一个组件,它没有UI,并且在单独的生命周期中运行。服务不是在它自己的线程上运行,而是在UI线程上运行(尽管它可以根据需要启动线程)
如果您想执行某些任务,但不受Android活动生命周期的约束,则可以使用服务。如果要并行运行,则使用线程。如果两者都需要,则使用启动线程的服务
从我所读到的(您不希望线程在活动完成后继续),您想要的是线程而不是服务。服务和线程是完全不同的概念。线程是并行执行的独立进程。服务是应用程序的一个组件,它没有UI,并且在单独的生命周期中运行。服务不是在它自己的线程上运行,而是在UI线程上运行(尽管它可以根据需要启动线程) 如果您想执行某些任务,但不受Android活动生命周期的约束,则可以使用服务。如果要并行运行,则使用线程。如果两者都需要,则使用启动线程的服务
据我所知(你不希望线程在活动完成后继续),你想要的是线程而不是服务。服务可以独立运行(而你的应用程序不一定在运行)。线程可以从应用程序本身或服务中分离出来。服务可以独立运行(而应用程序不一定在运行)。线程可以从应用程序本身或服务中分离出来。但我想要的是“隔离”的反面。我想与它交互,就像我与线程交互一样。在我关闭应用程序后,它不需要继续运行。我只是需要这个工作运行,无论什么,我正试图找到最好的方式来做到这一点,你可能想看看。这些服务是您的活动可以与之交互的服务。也许这会有帮助,但我想要的是“孤立”的反面。我想与它交互,就像我与线程交互一样。在我关闭应用程序后,它不需要继续运行。我只是需要这个工作运行,无论什么,我正试图找到最好的方式来做到这一点,你可能想看看。这些服务是您的活动可以与之交互的服务。如果我不做任何耗费资源的事情,这可能会帮助线程无限运行吗?线程运行直到线程的函数返回或应用程序退出。请注意-应用程序退出,而不是活动。仅仅完成活动不会杀死线程,当活动被销毁时,您需要取消它,以便它可以自行退出。>线程运行直到线程的函数返回或应用程序退出。这是事实,但说明:一个进程持有一个用户当前看不到的活动,对用户体验没有直接影响,系统可以随时杀死它们,为前台、可见或服务进程回收内存。@sooqua这是事实。但任何事情都是如此。如果操作系统决定需要其资源,则当前不是前台应用程序的任何应用程序都可以随时终止。这是无法避免的。好吧,那么我将使用线程,希望Android不会在某个时候决定杀死它。谢谢。如果我不做任何耗费资源的事情,线程会无限运行吗?线程会一直运行,直到线程的函数返回或应用程序退出。请注意-应用程序退出,而不是活动。仅仅完成活动不会杀死线程,当活动被销毁时,您需要取消它,以便它可以自行退出。>线程运行直到线程的函数返回或应用程序退出。这是事实,但说明:一个进程持有一个用户当前看不到的活动,对用户体验没有直接影响,系统可以随时杀死它们,为前台、可见或服务进程回收内存。@sooqua这是事实。但任何事情都是如此。如果操作系统决定需要其资源,则当前不是前台应用程序的任何应用程序都可以随时终止。这是无法避免的。好吧,那么我将使用线程,希望Android不会在某个时候决定杀死它。非常感谢。