task相关内容

TPL TaskFactory.FromAsync 与具有阻塞方法的任务

我想知道在方法的阻塞版本上使用 TPL TaskFactory.FromAsync 和使用 TaskFactory.StartNew 之间是否有任何性能影响.我正在编写一个支持不超过 100 个并发连接的 TCP 服务器.使用第一个选项编写代码后 &链接多个读&用 continue with 写操作,我留下了难看的、难以调试的代码. 我相信用同步版本编写代码 &然后用 Task 包装它会降低 ..

Task.Run 带参数?

我正在处理一个多任务网络项目,我是 Threading.Tasks 的新手.我实现了一个简单的 Task.Factory.StartNew(),我想知道如何使用 Task.Run() 来实现? 基本代码如下: Task.Factory.StartNew(new Action((x) =>{//用 'x' 做一些事情}), 原始数据); 我在对象浏览器中查看了System.Threadin ..
发布时间:2021-12-23 22:22:26 C#/.NET

中继命令可以执行和任务

我想在调用中继命令时启动任务,但是只要该任务正在运行,我想禁用该按钮 举个例子 私有ICommand更新;公共 ICommand 更新{得到{如果(更新 == 空){更新 = 新的中继命令(参数 =>Task.Factory.StartNew(()=> StartUpdate()),参数 =>真的);//true 表示按钮将始终处于启用状态}返回更新;}} 检查该任务是否正在运行的最佳方 ..
发布时间:2021-12-23 13:31:55 C#/.NET

从 Android 应用安装程序和主屏幕启动应用程序时的活动堆栈排序问题

仅出于测试目的,我允许通过 URL 下载和安装我的应用 APK.在手机上下载后,可以使用 Android 应用安装程序启动它,让用户可以选择将其安装到他们的设备上,然后运行. 考虑我们是否以上述方式下载并运行了该应用程序.我的应用程序中的主/启动器 Activity 是一个登录页面(Activity A).一旦用户通过身份验证,他们就会被带到应用程序的主要区域,例如活动B.所以现在这个任务的 ..
发布时间:2021-12-23 10:01:52 移动开发

按HOME后重新启动应用程序时如何返回到最新启动的活动?

熟悉的场景:我有一个 Main Activity,它在按下按钮时启动 Game Activity.如果用户按下 HOME,然后再次启动我的应用程序,它应该会显示 Game 活动,这是他在使用应用程序时最后做的事情. 然而,发生的事情是他再次获得 Main 活动.我有一种感觉,Android 正在创建 MainActivity 的另一个实例并将其添加到该应用程序的堆栈中,而不是仅仅选择顶部的任 ..
发布时间:2021-12-23 09:54:31 移动开发

Gradle 任务替换 .java 文件中的字符串

我想在编译代码之前替换我的 Config.java 文件中的几行.我能找到的只是在复制文件时通过过滤器解析文件.一旦我必须复制它,我就必须将它保存在某个地方 - 这就是我寻求解决方案的原因:复制到临时位置,同时替换行> 删除原始文件 > 将复制的文件复制回原始位置 > 删除临时文件.有没有更好的解决方案? 解决方案 也许你应该试试 ant 的 替换正则表达式: task myCopy ..
发布时间:2021-12-15 11:05:33 Java开发

任务和异步任务的区别

C# 提供了两种创建异步方法的方式: Task(): static TaskMyAsyncTPL() {任务结果 = PerformWork();return result.ContinueWith(t => MyContinuation());} async Task(): static async Task我的异步(){字符串结果 = 等待 PerformWork();返回 MyC ..
发布时间:2021-12-14 20:45:33 C#/.NET

使用 async 和 await 关键字的好处

我是在 C# 中使用异步方法的新手.我读过这些关键字 async 和 await 通过异步一些方法来帮助使程序更具响应性.我有这个片段: 第一种方式 public static void Main(){Console.WriteLine("你好!!欢迎来到任务申请");Console.ReadKey();任务ourtask = Task.Factory.StartNew(() =>;{r ..
发布时间:2021-12-14 20:34:05 C#/.NET

是否使用带有“Task.Run()"冗余的“异步"lambda?

我刚刚遇到了一些代码,例如: var task = Task.Run(async () => { await Foo.StartAsync(); });任务.等待(); (不,我不知道 Foo.StartAsync() 的内部工作原理).我最初的反应是去掉 async/await 并重写为: var task = Foo.StartAsync();任务.等待(); 这是否正确(同样,对 F ..
发布时间:2021-12-14 20:28:17 C#/.NET

从 [n async] 工厂方法缓存结果,如果它不抛出

更新:@usr 指出我错误地假设 Lazy 的默认线程安全模式是 LazyThreadSafetyMode.PublicationOnly...> 我想通过 async 工厂方法懒惰地计算一个值(即它返回 Task)并在成功时缓存它.作为例外,我希望它可供我使用.但是,我不想成为 Lazy 在其默认模式下的异常缓存行为 (LazyThreadSafetyMode.ExecutionAndP ..
发布时间:2021-12-14 20:23:40 C#/.NET

等待任务结果时会发生什么?

我正在使用 HttpClient 将数据发布到 .NET 4.0 项目中的远程服务.我不关心这个操作阻塞,所以我想我可以跳过 ContinueWith 或 async/await 并使用 Result. 在调试时,我遇到了远程服务器没有响应的问题.当我逐步浏览代码时,我的代码似乎只是停止在第三行运行……当前堆栈指针行不再以黄色突出显示,并且没有前进到下一行.它只是消失了.我花了一段时间才意识 ..
发布时间:2021-12-14 20:22:34 C#/.NET

我是否应该担心“这种异步方法缺少 'await' 操作符并且将同步运行"?警告

我有一个公开一些异步方法的接口.更具体地说,它定义了返回 Task 或 Task 的方法.我正在使用 async/await 关键字. 我正在实现这个接口.但是,在其中一些方法中,此实现无需等待.出于这个原因,我收到编译器警告“CS1998:此异步方法缺少 'await' 运算符,将同步运行......" 我明白为什么我会收到这些警告,但我想知道在这种情况下我是否应该对它们做些什么.忽 ..
发布时间:2021-12-14 20:15:40 C#/.NET

JavaFX 使用线程和 GUI

我在使用 JavaFX 和线程时遇到问题.基本上我有两个选择:使用 Tasks 或 Platform.runLater.据我了解 Platform.runLater 应该用于简单/短的任务,而 Task 应该用于较长的任务.但是,我不能使用它们中的任何一个. 当我调用Thread 时,它必须在任务中间弹出一个验证码对话框.在使用 Task 时,它忽略了我显示新对话框的请求......它不允许 ..
发布时间:2021-12-13 10:44:17 其他开发

UWP 从任务更新 UI

我有应用程序,它正在检查本地网络中的网络范围(用于运行 http 服务). 所以这意味着,我正在检查 f.e.从 10.0.0.1 到 10.0.0.255.问题来了,在PC上运行时速度足够,但在Lumia 950上运行时速度不够.所以我想在扫描期间更新 UI. 所以这里是问题: 此时我有几个任务,例如10 - 每个任务都在扫描他的范围 f.e.任务 1 - 10.0.0.1 到 ..
发布时间:2021-12-13 10:38:56 C#/.NET

Task.Factory.StartNew() 是否保证使用另一个线程而不是调用线程?

我正在从一个函数开始一个新任务,但我不希望它在同一线程上运行.我不在乎它运行在哪个线程上,只要它是一个不同的线程(所以 这个问题没有帮助. 我能保证下面的代码在允许 Task t 再次输入之前总是退出 TestLock 吗?如果不是,推荐的防止重入的设计模式是什么? object TestLock = new object();公共无效测试(布尔停止=假){任务 t;锁(this.Test ..
发布时间:2021-12-06 11:50:52 C#/.NET

有一组任务,一次只运行 X

假设我有 100 个任务,这些任务需要 10 秒才能完成.现在我只想一次运行 10 个,比如当这 10 个中的 1 个完成另一个任务时,直到所有任务都完成. 现在我总是使用 ThreadPool.QueueUserWorkItem() 来完成这样的任务,但我读到这样做是不好的做法,我应该改用 Tasks. 我的问题是我没有找到适合我的场景的好例子,所以你能告诉我如何使用 Tasks 实 ..
发布时间:2021-12-06 11:32:08 C#/.NET