小编Adi*_*Adi的帖子

CPU友好的无限循环

编写无限循环很简单:

while(true){
    //add whatever break condition here
}
Run Code Online (Sandbox Code Playgroud)

但这会破坏CPU的性能.此执行线程将尽可能多地从CPU的电源中获取.

降低对CPU影响的最佳方法是什么?添加一些Thread.Sleep(n)应该可以解决问题,但为Sleep()方法设置高超时值可能表示对操作系统的应用程序无响应.

假设我需要在控制台应用程序中每分钟执行一次任务.我需要继续Main()在"无限循环"中运行,而计时器将触发将完成工作的事件.我想保持Main()对CPU的最小影响.

你有什么方法可以建议.Sleep()可以,但正如我已经提到的,这可能表明操作系统没有响应.

后期编辑:

我想更好地解释一下我在寻找什么:

  1. 我需要一个控制台应用程序不是Windows服务.控制台应用程序可以使用Compact Framework模拟Windows Mobile 6.x系统上的Windows服务.

  2. 只要Windows Mobile设备运行,我需要一种方法让应用程序保持活动状态.

  3. 我们都知道控制台应用程序运行只要其静态Main()函数运行,所以我需要一种方法来阻止Main()函数退出.

  4. 在特殊情况下(例如:更新应用程序),我需要请求应用程序停止,因此我需要无限循环并测试某些退出条件.例如,这就是为什么Console.ReadLine()我没用.没有退出条件检查.

  5. 关于上面,我仍然希望Main()函数尽可能地对资源友好.让我们确定检查退出条件的函数的指纹.

.net c# console-application infinite-loop

53
推荐指数
2
解决办法
5万
查看次数

SQL Server计数很慢

计算具有大量数据的表可能非常慢,有时需要几分钟; 它还可能在繁忙的服务器上生成死锁.我想显示实际值,NOLOCK不是一个选项.

我使用的服务器是SQL Server 2005或2008 Standard或Enterprise - 如果重要的话.我可以想象SQL Server维护每个表的计数,如果没有WHERE子句,我可以很快得到这个数字,对吗?

例如:

SELECT COUNT(*) FROM myTable
Run Code Online (Sandbox Code Playgroud)

应立即返回正确的值.我是否需要依赖统计数据进行更新?

sql sql-server sql-server-2005 count sql-server-2008

35
推荐指数
3
解决办法
3万
查看次数

摆脱SourceSafe源代码控制

我的一个项目是在SourceSafe下,我正在使用VS2008.最近我换了SVN.我删除了所有SS相关文件,并将源文件提交到SVN.无论如何,当我打开我的解决方案时,我仍然会得到这种无害而又烦人的消息(见下图):

The source control provider associated with this solution could not be found. The projects will be treated as not under source control.

Do you want to permanently remove the source control bindings from the projects?
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我回答了多次肯定并保存了所有文件,我关闭了解决方案并重新打开它.我总是得到这个消息.我在哪里可以手动删除那里留下的任何绑定?

visual-sourcesafe visual-studio-2008

10
推荐指数
1
解决办法
5496
查看次数

Android - 禁用HDMI

我的一个Android项目需要不时地在2个HDMI输入之间切换,可能每分钟一次.一个HDMI输入来自Android设备的HDMI输出,一个来自外部无法控制的来源.

我找到了一个HDMI开关,当信号可用时,它会在两个信号源之间自动切换.我的问题是,有没有办法临时(例如一分钟)切断我的Android设备的HDMI输出,以便开关可以自动使用第二个HDMI输入?然后,我需要恢复HDMI输出,以便开关显示我的设备的HDMI输出.

我发现了这个问题,但我不确定是否需要禁用HDMI输出,而是以某种方式重定向显示器并在1分钟后恢复.

UPDATE

我想开始一个赏金,所以我会稍微澄清一下我的要求:我有一个带2个端口的支持HDMI的电视.我的android设备连接在端口1上,另一个设备连接在端口2上.电视自动切换到下一个有信号的HDMI端口.

例如,如果HDMI1和HDMI2有信号,我将电视放在HDMI1上.当第一个设备"关闭"其HDMI输出时,电视将切换到HDMI2.一段时间(5分钟)后,第一个设备"重新打开"HDMI1(意味着第一个设备启用其HDMI输出),第二个设备"关闭"其HDMI输出,以便电视切换回HDMI1.这样我可以制作混合视频.

我面临的技术难题是如何控制Android系统中的HDMI输出.我的Android设备只有HDMI接口用于显示,它没有专用的屏幕.

唯一足够接近我需要的东西是这个SO帖子,但它对我的情况并没有真正的帮助.

android hdmi

10
推荐指数
1
解决办法
5128
查看次数

代码优先:避免使用鉴别器列并保持继承

在我的项目中,我有:

public class BaseEntity {
    [Key]
    public int Id {get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我必须定义10个以上的POCO类来定义我的数据库中的表:

public class MyTable : BaseEntity {
    //define properties here
}
Run Code Online (Sandbox Code Playgroud)

当然,因为MyTable继承了从BaseEntity我得到的鉴别领域.我想摆脱这个Discriminator领域,因为我不需要BaseEntity创建表,也不需要在我的数据库中实现某种继承.

可能吗?

c# ef-code-first entity-framework-6

4
推荐指数
1
解决办法
2158
查看次数

在 Azure 数据工厂 v2 中枚举 blob 名称

我需要枚举位于 Azure Blob 容器中的所有 blob 名称,并将列表转储到另一个 blob 存储中的文件中。

我无法掌握的部分是枚举。谢谢。

azure-data-factory-2

4
推荐指数
1
解决办法
3343
查看次数

RDLC报告中的小计

我需要在RDLC报告中显示小计.我的报告应该显示如下数据:

Book            Student           Borrowed
Book1           John              2
Book1           Mary              3
Book1           Bob               1

                Total:            6 --how to do it?

Book2           Alex              1
Book2           John              7
Book2           Dan               2
                Total:            10 --how to do it?

Grand Total:                      16
Run Code Online (Sandbox Code Playgroud)

如您所见,我有按BookName和StudentName分组的数据.最后一栏显示学生去年借书的次数.基本上实现Grand Total是小菜一碟,但我似乎无法为每本书定义一个小计.

谢谢.

c# rdlc

3
推荐指数
1
解决办法
9591
查看次数

以编程方式从 zip 文件中删除已知密码

我的任务很简单:我有一个受密码保护的 zip 文件,我知道它的密码。我只是想删除密码保护。

我知道使用DotnetZip我可以打开密码保护的 zip 文件,然后将文件复制到新的、未受保护的存档中。但挑战是我想避免重复压缩文件。因此,密码删除应该针对同一个文件“就地”完成,因为它更有效,而且我不再需要受密码保护的文件。

.net c# zip password-protection dotnetzip

2
推荐指数
1
解决办法
1393
查看次数