可移植类库中的 Thread.Sleep()

2024-02-24

The MSDN文档说Thread.Sleep()可以用在portable类库。编译器另有说明。除了自旋循环之外,我还有什么选择?Thread.CurrentThread.Join()也不存在。

项目文件:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{C46B138E-CC30-4397-B326-8DD019E3874B}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>x0xtest.AVR</RootNamespace>
    <AssemblyName>x0xtest.AVR</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile>Profile3</TargetFrameworkProfile>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Attributes\AddressAttribute.cs" />
    <Compile Include="Attributes\RegAttribute.cs" />
    <Compile Include="Attributes\ROAttribute.cs" />
    <Compile Include="Attributes\RWAttribute.cs" />
    <Compile Include="Attributes\WOAttribute.cs" />
    <Compile Include="Devices\ATMega162.cs" />
    <Compile Include="Exceptions.cs" />
    <Compile Include="IntelHexFormat.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Proxy.cs" />
    <Compile Include="ProxyBase.cs" />
    <Compile Include="ProxyBase_UploadFirmware.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\x0xtest.Comm\x0xtest.Comm.csproj">
      <Project>{F78547AC-1CA1-4ADB-9FA8-3E7DEB682240}</Project>
      <Name>x0xtest.Comm</Name>
    </ProjectReference>
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>

这就是“便携”的不幸的副作用。通过减法,库变得高度可移植,删除了许多可能目标之一上不可用的所有部分。这对 Thread 类造成了严重破坏,它完全没有任何有用的成员。只剩下 5 个:MemoryBarrier()、CurrentCulture、CurrentThread、CurrentUICulture 和 ManagedThreadId。

这可能看起来很奇怪,广告目标的交集肯定支持更多。这可能与未宣传的内容有关。即将推出的 Windows 8 版本将在 ARM 内核上运行。也称为 WinRT 或 Metro 或“.NET for Metro 风格应用程序”API,具体取决于您使用的工具。 WinRT 严重削减了传统的 Windows API,其 System.Windows.Threading 命名空间相当空。

这将生成一个ton关于“一周,现在我该怎么办”之类的问题。这里可能的解决方法是烧掉一个虚拟的 System.Threading.ManualResetEvent 对象。它有一个 WaitOne(TimeSpan) 方法。

Fwiw,我个人并不期待针对这个库进行编程。到目前为止,最令人震惊的花絮是您提供的链接的问答部分:

问:我想问一下Compile方法是怎么回事 System.Linq.Expressions.Expression 类。
答:Windows Phone/Xbox 不支持它,因此仅当您面向 Silverlight + .NET 时才会显示。

哎哟。便携、运动。这个需要炖一会儿。我对 DevDiv 表示同情,特别是 David Kean,这是一项艰巨的工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可移植类库中的 Thread.Sleep() 的相关文章

  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • 我如何理解这个 C 类型声明?

    double bar int double double double double 在查看讲座幻灯片时 我发现了留给学生的练习 用简单的英语来说 什么是类型bar在这个 C 声明中 Please帮助我解决这个问题 我什至不知道从哪里开始
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • 与 Qt 项目的静态链接

    我有一个在 Visual Studio 2010 Professional 中构建的 Qt 项目 但是 当我运行它 在调试或发布模式下 时 它会要求一些 Qt dll 如果我提供 dll 并将它们放入 System32 中 它就可以工作 但
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • vs2008 c#:Facebook.rest.api如何使用它来获取好友列表?

    如何在此基础上取得进一步的进步 获取好友列表的下一步是什么 string APIKey ConfigurationManager AppSettings API Key string APISecret ConfigurationManag
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • std::forward_as_tuple 将参数传递给 2 个构造函数

    我想传递多个参数以便在函数内构造两个对象 以同样的方式std pair
  • 如何在服务器端按钮点击时关闭当前标签页?

    我尝试在确认后关闭当前选项卡 因此我将以下代码放在确认按钮的末尾 但选项卡没有关闭 string jScript ClientScript RegisterClientScriptBlock this GetType keyClientBl
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • ASP.NET MailMessage.BodyEncoding 和 MailMessage.SubjectEncoding 默认值

    很简单的问题 但我在 MSDN 上找不到答案 查找 ASP NET 将用于的默认值 MailMessage BodyEncoding and MailMessage SubjectEncoding 如果你不在代码中设置它们 Thanks F
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 您是否将信息添加到每个 .hpp/.cpp 文件的顶部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 创建新的 C 头文件 源文件时 您会在顶部添加哪些信息 例如 您是否添加日期 您的姓名 文件描述等 您是否使用结构化格式来存储此信息 e g F
  • 将 char[][] 转换为 char** 会导致段错误吗?

    好吧 我的 C 有点生疏了 但我想我应该用 C 来做我的下一个 小 项目 这样我就可以对其进行抛光 并且我已经有不到 20 行的段错误了 这是我的完整代码 define ROWS 4 define COLS 4 char main map
  • C++0x中disable_if在哪里?

    Boost 两者都有enable if and disable if 但 C 0x 似乎缺少后者 为什么它被排除在外 C 0x 中是否有元编程工具允许我构建disable if按照enable if 哦 我刚刚注意到std enable i
  • 从 JavaScript 中的 OnClientClick 事件中阻止 C# 中的 asp:Button OnClick 事件?

    我有一个asp Button在我的网页上 它调用 JavaScript 函数和代码隐藏方法 后者进行调用以导航到另一个页面 在 JavaScript 函数中 我正在检查条件 如果不满足这个条件 我想中止导航 以便OnClick方法未被调用

随机推荐

  • 如何跟踪点击时正确的标注附件视图的位置

    正如您在下面看到的 我有一个带有右键的注释视图 当用户点击右侧按钮时 我将呈现一个弹出窗口 问题是我不知道用户点击的位置 因此我没有 X 和 Y 来相应地显示弹出窗口 如何找出用户点击的位置 即 X 和 Y HotelAnnotationV
  • 如何快速检查一个对象是否是动态类类型?

    我正在实现一个名为的函数ofType它过滤掉给定类型的所有元素 这是我的代码 class Animal class Mammal Animal class Monkey Mammal class Pig Mammal class Human
  • 如何调试 Firefox 扩展,它似乎无声地崩溃

    我不知道如何调试我的简单扩展 脚本 内容脚本 加载 因为第一个 console log 调用显示在选项卡的控制台中 但随后什么也没有 没有任何错误 也没有第二次 console log 调用 我的问题不是关于解决我的代码问题 肯定有一个 如
  • Matplotlib/Pandas 中条形图的优化

    代码 df pd DataFrame 770 215 179 107 83 82 70 60 57 54 52 index A B C D E F G H I J K ax df plot kind bar stacked False al
  • java 解组 LocalDateTime

    这是我的适配器类 public class LocalDateTimeAdapter extends XmlAdapter
  • 在同一 lambda 函数中从不同帐户访问两个表

    是否可以在一个 lambda 函数中访问两个表 其中一个表与 lambda 函数位于同一帐户中 另一个表位于另一个帐户中 我看过有关的文章跨账户访问委托 https docs aws amazon com IAM latest UserGu
  • 如何在Java中实现具有单应性方法的接口?

    在英语中 同形异义词对是具有相同拼写但不同含义的两个单词 在软件工程中 一对单应性方法是名称相同但要求不同的两种方法 让我们看一个人为的示例 以使问题尽可能清楚 interface I1 return 1 int f interface I
  • Ansible,角色未找到错误

    我尝试对本地主机播放以下剧本来配置 Vagrant 机器 hosts all become yes roles base jenkins 我已经从 github 克隆了必要的角色 它们位于相对路径中roles role name 执行以下命
  • 设置 CLion 构建和二进制目录

    我正在尝试在 CLion 的项目中构建 libwebsockets 在构建期间 libwebsockets 创建其他文件所需的头文件并将其放入 PROJECT BINARY DIR 中 CLion 在为项目创建的随机构建目录中构建所有内容
  • Google MarkerClusterer:对低于特定缩放级别的标记进行分簇?

    我正在使用 Google MarkerClusterer 每当地图缩放级别超过 15 时 我想对所有标记进行分簇 有一个maxZoom在配置选项中设置 但是文档没有明确说明它应该做什么 http google maps utility li
  • 如何在应用程序类中获取屏幕显示指标

    如果我把它放在某个活动类中 它会完美地工作 但是 当我将它放在我的应用程序类中时 该方法getWindowManager 找不到 有什么方法可以在应用程序类中获取 WindowManager 吗 我的应用程序类定义如下 public cla
  • JavaScript 游戏框架

    如今与
  • Heroku docker spring boot 镜像错误 503 H14

    几天前 我尝试将 Spring Boot 应用程序的 docker 镜像部署到 heroku 中 我有以下泊坞窗文件 FROM openjdk 8 jdk alpine LABEL maintainer email protected cd
  • java循环重复程序

    我对 Java 非常陌生 我已经在上课的第二周左右了 我需要我的程序根据用户继续运行或退出 这是一个工资计算 我希望最后说 你想继续吗 y n 我希望 Y 重复我的整个问题程序和不结束程序 我正在使用 Jgrasp 而且我是非常非常新的 我
  • 如何在 FiraCode for Visual Studio 2015 中启用连字

    我下载了 FiraCode 字体 并选择它作为 Visual Studio 中的字体 然而 连字没有显示 并且 wiki 没有针对 Visual Studio 的任何特殊说明 尽管他们暗示它可以工作 因为它列在其 WORKS 列中以提供编辑
  • MySQL仅当查询包装为子查询时出现重复列错误

    我有一个如下所示的选择查询 SELECT FROM A LEFT JOIN B ON B x A y LEFT JOIN C WHERE GROUP BY ORDER BY 所有桌子都有id列和查询运行良好 结果有很多id列没有错误并且驱动
  • ASP.NET [GridView 的水平滚动]

    如何为我的大 GridView 制作水平滚动 尝试包裹一个 div style width 100 div 围绕 GridView
  • 创建独立的 .exe 文件

    我有一个在 Visual Studio 2010 中构建的控制台应用程序 当我实际构建项目时 我在 bin Debug MyProj exe 下获取 exe 文件 当我从其他位置粘贴并运行此 exe 时 它 也需要其他文件 有什么想法我怎样
  • 电子邮件客户端如何处理 cookie?

    假设我在电子邮件中的图像请求上设置了 cookie 因此当用户查看电子邮件中的图像时会设置 cookie 如果用户随后点击电子邮件打开浏览器 浏览器是否可以访问我刚刚设置的 cookie 显然 如果用户将 Outlook 作为电子邮件客户端
  • 可移植类库中的 Thread.Sleep()

    The MSDN文档说Thread Sleep 可以用在portable类库 编译器另有说明 除了自旋循环之外 我还有什么选择 Thread CurrentThread Join 也不存在 项目文件