小编Hos*_*Aly的帖子

将ReaderWriterLockSlim UpgradeableReadLock降级为简单的ReadLock

文件ReaderWriterLockSlim.EnterUpgradeableReadLock说:

处于可升级模式的线程可以降级到读取模式或升级到写入模式.

如何将锁降级为读锁?文档没有说明......

[编辑:]我不是想要写锁定.我只想将可升级锁降级为读锁,以便另一个线程可以获得可升级锁.

c# locking

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

我应该推出自己的ParseInt32版本吗?

我正在编写一个高性能的解析器,在我看来,它Int32.Parse可能太慢了.我写了一个假设正确输入的简单版本,它表现得更好.那么我应该创建自己的版本吗?或者还有另一种更快的方法吗?

我的方法是这样的:

// parse simple int, assuming relatively correct input (i.e. all digits)
public static int ParseInt32Simply(string str) {
    if (str == null) throw new ArgumentNullException("str");
    if (str.Length == 0) throw new ArgumentException("str is empty");

    int sign = 1, index = 0;
    if (str[0] == '-') { sign = -1; index = 1; }
    else if (str[0] == '+') { index = 1; }

    int result = 0;
    for (; index < str.Length; ++index) {
        result = 10 …
Run Code Online (Sandbox Code Playgroud)

.net performance parsing

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

如何找到哪个进程打开了特定文件?

如何找到打开特定文件的进程及其打开,访问和共享模式?此外,是否可以更改流程的这些值?或者甚至可以打开一个文件进行阅读,如果它已被打开以供另一个进程独占访问?

请注意,我不想使打开文件的进程的句柄无效.我只是想能够访问该文件(如果可能的话).

(我主要询问Windows,但欢迎其他平台的解决方案,因为它们有助于社区的知识.)

编辑:我在这里那里找到了第一个问题的答案.

编辑2:感谢大家提供的工具,但我主要是寻找程序技术(例如使用Win32 API).

winapi file

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

备用UniqueId生成技术

在应用程序中,当创建特殊类型的对象时,我需要为每个对象生成唯一ID.这些对象是在工厂中创建的,很有可能在"批量"操作中创建.我意识到框架中的"随机"毕竟不是那么"随机",所以我尝试将时间戳添加如下:

private string GenerateUniqueId()
{
    Random randomValue = new Random();
    return DateTime.Now.Ticks.ToString() + randomValue.Next().ToString();
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,即使这样也行不通.对于快速连续创建的对象,我生成相同的唯一ID :-(

目前,我正在以粗暴的方式实施如下:

private string GenerateUniqueId()
{
    Random randomValue = new Random();
    int value = randomValue.Next();
    Debug.WriteLine(value.ToString());
    Thread.Sleep(100);
    return DateTime.Now.Ticks.ToString() + value.ToString();
}
Run Code Online (Sandbox Code Playgroud)

由于这不是一个非常大的应用程序,我认为一个简单快速的技术就足够了,而不是实现一个复杂的算法.

请建议.

.net c# algorithm

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

修剪JBoss Seam中的输入

我正在使用JBoss Seam 2.2.0 创建一个Web应用程序,我希望在接收它们之前修剪我的输入,甚至在Hibernate Bean Validation阶段之前.这可能吗?

我看到有人用a PhaseListener来做同样的功能.这是最好的方法吗?

java jsf jboss seam java-ee

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

为什么`@In(create = true)`不能在Seam中创建对象?

我有一段非常简单的代码,如:

@In(create = true) OutletHome outletHome;
Run Code Online (Sandbox Code Playgroud)

它工作正常(使用Seam 2.2.0.GA),并且正在创建和注入对象而没有任何问题.但当我尝试将其更改为:

@In(create = true) OutletHome deactivationOutletHome;
Run Code Online (Sandbox Code Playgroud)

它突然停止工作,导致异常:

org.jboss.seam.RequiredException:@In属性需要非null值:customerHome.deactivationOutletHome

造成这种问题的原因是什么?变量名如何相关?我怎么能解决它?

java jboss seam java-ee

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

回到rspec-mocks中的原始方法

是否有可能告诉RSpec :: Mocks为一组值存根方法,否则回退到原始方法?例如:

File.stub(:exist?).with(/txt/).and_return(true)
File.exist? 'log.txt'    # returns true
File.exist? 'dev.log'    # <<< need to fallback to original File.exist? here
Run Code Online (Sandbox Code Playgroud)

目前上面示例中的最后一个调用会引发a MockExpectationError,要求提供默认值.是否有可能指示rspec-mocks回退到原始方法?

ruby rspec mocking stub

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

.NET类的重新分发许可

我对许可问题的经验很少.假设我正在开发.NET 2.0应用程序.在我的应用程序中使用(和分发)某些.NET 3.5 DLL是否可以?

例如,我可以将我的设置中的"System.Core.dll"复制到客户端的计算机上吗?或者我甚至可以提取一些类(例如使用Reflector),将其源代码放在我的一个项目中,并按原样使用它?

我不确定使用Reflector这样做是否合法,但是从Microsoft的Reference Source Server下载同一个类会有什么不同?

在任何情况下,我想我只是使用类,这是框架实际提供的.对我的想法有一些误解吗?

.net licensing

0
推荐指数
1
解决办法
450
查看次数

在查询中左右连接

一位朋友向我请求帮助,建立一个查询,显示每个月的每一天销售的每个模型的数量,在特定日期没有特定模型的销售件时显示零,即使没有任何项目模特在那天出售.我想出了下面的查询,但它没有按预期工作.我只获得已售出的模型的记录,我不知道为什么.

select days_of_months.`Date`,
       m.NAME as "Model",
       count(t.ID) as "Count"
  from MODEL m
  left join APPLIANCE_UNIT a on (m.ID = a.MODEL_FK and a.NUMBER_OF_UNITS > 0)
  left join NEW_TICKET t on (a.NEW_TICKET_FK = t.ID and t.TYPE = 'SALES'
and t.SALES_ORDER_FK is not null)
 right join (select date(concat(2009,'-',temp_months.id,'-',temp_days.id)) as "Date"
               from temp_months
              inner join temp_days on temp_days.id <= temp_months.last_day
              where temp_months.id = 3 -- March
             ) days_of_months on date(t.CREATION_DATE_TIME) =
date(days_of_months.`Date`)
 group by days_of_months.`Date`,
       m.ID, m.NAME
Run Code Online (Sandbox Code Playgroud)

我创建了临时表temp_months,temp_days以便获得任何月份的所有日期.我正在使用MySQL 5.1,但我正在努力使查询符合ANSI标准.

mysql sql join

0
推荐指数
1
解决办法
370
查看次数

标签 统计

.net ×3

c# ×2

java ×2

java-ee ×2

jboss ×2

seam ×2

algorithm ×1

file ×1

join ×1

jsf ×1

licensing ×1

locking ×1

mocking ×1

mysql ×1

parsing ×1

performance ×1

rspec ×1

ruby ×1

sql ×1

stub ×1

winapi ×1