- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 W2008R2 上运行了软实时 .NET 应用程序。
我刚刚意识到我无法解释线程的调度精度。
令我尴尬的是,我根本不知道操作系统线程是如何工作的。
因此,我将解释我所知道的,如果有人可以帮助我填补空白并向我介绍 .NET 和 Windows 中用于调度线程的算法的简单描述,我将不胜感激。
我的代码在托管线程中运行。据我所知,托管线程(我们称它们为 .NET 线程)在非托管线程(我们称它们为 OS 线程)中运行。
我知道线程在争夺 CPU 时间和其他资源。并且有一个软件 - 调度程序,它监视资源和线程并使整个事情正常运行。
在这里我不确定 - 调度程序只是用于操作系统的调度程序还是还有调度 .NET 线程的 .NET 调度程序?如果有两个调度程序,那么它们如何协同工作?
调度线程的规则是什么?
我想将这个问题缩小到一个线程,它只进行算术计算而不访问任何设备,所以我们谈论的是纯粹的 CPU 消耗线程。
调度程序如何影响 .NET 线程优先级、进程优先级和共享资源(在本例中为 CPU)?
最佳答案
当前版本的 .NET 桌面运行时在 .NET 线程和操作系统线程之间确实有 1:1 的映射。这可能会在未来的版本中发生变化(在其他主机中可能并非如此;我知道在 AutoCAD 中并非如此,但我相信在 SQL Server 和 MS Office 中是这样)。
请注意,.NET 线程池与操作系统线程池不同(尽管它确实使用了一个进程范围的 I/O 完成端口,它具有一些类似于池的语义) .
要获得完整的答案,您需要两本书:Windows Internals和 Concurrent Programming on Windows .我建议按此顺序阅读它们。
关于c# - 是否有关于线程调度的简单而有意识的图表/算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077716/
背景 我想要一个跟踪其自身状态的函数: var myObject = { myFunction: function () { var myself = this.myFunct
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 2年前关闭。 Improve t
Windows 10 Creator's Update Edition 中为最终用户提供了一个新选项。最终用户可以在兼容性选项卡上将 EXE 的属性更改为“覆盖高 DPI 缩放行为”并将其设置为系统(
这个问题在这里已经有了答案: Windows Forms window changes its size when I create a WPF window (3 个答案) 关闭 4 年前。 所以
长期读者第一次海报。请温柔点。 我热衷于在 VB.net 中创建游戏。作为一名业余程序员,我免费赠送我的游戏。因为我是一个没有经过正式培训的业余爱好者,所以我尝试让自己了解正确的编程原则,并在进行 O
我正在将 Spring 插入现有的 Java EE Web 应用程序。我的 web.xml 中有以下几行: com.MyContextListener 然后跟随 MyContextList
我曾想将我的应用程序的新版本(WPF 通过 Desktop Bridge 转换为 UWP)发布到 Microsoft Store,但未能通过认证,并出现以下警告: File **.exe neithe
在我的“工具箱”中,我正在使用此功能: function dataAttuale() { $now = new DateTime(); $data
我有一个同时使用 winforms 和 WPF 的 C# 程序,我正在努力让它在高 DPI 环境中工作。目前,如果我从解决方案中删除所有 WPF 项目并运行它,它会很好地缩放,但是一旦我重新添加任何
我是一名优秀的程序员,十分优秀!