问题列表 - 第6060页

在execvp返回之后,为什么我的程序不会从它停止的地方开始?

我有一个像这样的代码块作为子线程运行:

if(someVar == 1){
doSomeStuff;

_exit(0)
}
else
   execvp(*(temp->_arguments), temp->_arguments);
printf("I'm done\n");
Run Code Online (Sandbox Code Playgroud)

当我用someVar == 1运行程序时,我知道_exit(0)调用会杀死我的线程.但是,当它设置为0时,为什么程序在execvp()调用之后不继续并执行printf语句?

c multithreading execvp

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

我的布隆过滤器需要多少个哈希函数?

维基百科说:

空Bloom过滤器是m位的位数组,全部设置为0.还必须定义k个不同的散列函数,每个散列函数将一些集合元素映射或散列到具有均匀随机分布的m个阵列位置之一.

我读了这篇文章,但我不明白的是k是如何确定的.它是表格大小的函数吗?

此外,在我编写的哈希表中,我使用了一种简单但有效的算法来自动增加哈希的大小.基本上,如果表中超过50%的桶被填满,我会将表的大小加倍.我怀疑你可能仍然希望使用布隆过滤器来减少误报.正确吗?

algorithm bloom-filter

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

如何找到装配的完全限定名称?

如何找到程序集的完全限定名称,例如:

MyNamespace.MyAssembly, version=1.0.3300.0, 
Culture=neutral, PublicKeyToken=b77a5c561934e089
Run Code Online (Sandbox Code Playgroud)

我已经设法使用sn.exeSDK中的我的PublicKeyToken ,但我想轻松获得完整的限定名称.

c# deployment strongname assemblies

49
推荐指数
7
解决办法
5万
查看次数

MVC Html.CheckBox和表单提交问题

在ASP.NET MVC RC中提交Html.Checkbox中的值的疯狂问题

有些值只是没有来到Request.Params

在我的表格中,我在循环中有这条线:

<%=Html.CheckBox("cb" + p.Option.Id, p.Option.IsAllowed, new { value = 6 })%>

并呈现给下一个:

    <input checked="checked" id="cb17" name="cb17" type="checkbox" value="6" />
<input name="cb17" type="hidden" value="false" /> 

    <input checked="checked" id="cb18" name="cb18" type="checkbox" value="6" />
<input name="cb18" type="hidden" value="false" /> 

    <input id="cb19" name="cb19" type="checkbox" value="6" />
<input name="cb19" type="hidden" value="false" />

    <input id="cb20" name="cb20" type="checkbox" value="6" />
<input name="cb20" type="hidden" value="false" />

    <input checked="checked" id="cb21" name="cb21" type="checkbox" value="6" />
<input name="cb21" type="hidden" value="false" /> 
Run Code Online (Sandbox Code Playgroud)

提交表格后,我得到的结论如下:

Form.Params["cb17"] = {6, "false"}
Form.Params["cb18"] …
Run Code Online (Sandbox Code Playgroud)

checkbox asp.net-mvc

14
推荐指数
2
解决办法
4万
查看次数

在ant任务中使用eclipse类路径

我想使用Ant来提供JAR文件,如何在Ant任务中使用Eclipse类路径?

Greets,Tobias

java eclipse ant

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

通过强制转换从JSON反序列化为PHP?

假设我有一个带有'name'和'password'属性的User类,以及一个'save'方法.当通过json_encode将此类的对象序列化为JSON时,该方法被正确跳过,我最终得到类似{'name':'testName','password':'testPassword'}的内容.

但是,当通过json_decode反序列化时,我最终得到一个StdClass对象而不是User对象,这是有道理的,但这意味着该对象缺少"保存"方法.有没有办法将结果对象作为用户进行转换,或者为json_decode提供一些关于我期望的对象类型的提示?

php serialization json

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

迭代器存储在数组中的散列映射中的所有元素

我有一个名为Graph的自定义类,其中我使用邻接列表.更具体地说,我有一个哈希映射数组,其中每个哈希映射包含所有节点的邻居作为边.关键是结束节点,值是Edge对象.

现在我想让这个Graph类实现Iterable.有没有办法合并所有这些哈希映射并返回所有元素的公共迭代器?

使用该方法非常有效是非常重要的.

java collections

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

如何以递归方式将所有引用加载到AppDomain的程序集?

我想加载到一个新的AppDomain一些具有复杂引用树的程序集(MyDll.dll - > Microsoft.Office.Interop.Excel.dll - > Microsoft.Vbe.Interop.dll - > Office.dll - > stdole.dll)

据我所知,当加载程序集时AppDomain,它的引用不会自动加载,我必须手动加载它们.所以当我这样做时:

string dir = @"SomePath"; // different from AppDomain.CurrentDomain.BaseDirectory
string path = System.IO.Path.Combine(dir, "MyDll.dll");

AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation;
setup.ApplicationBase = dir;
AppDomain domain = AppDomain.CreateDomain("SomeAppDomain", null, setup);

domain.Load(AssemblyName.GetAssemblyName(path));
Run Code Online (Sandbox Code Playgroud)

得到了FileNotFoundException:

无法加载文件或程序集"MyDll,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null"或其依赖项之一.该系统找不到指定的文件.

我认为关键部分是其依赖性之一.

好的,我之前做过 domain.Load(AssemblyName.GetAssemblyName(path));

foreach (AssemblyName refAsmName in Assembly.ReflectionOnlyLoadFrom(path).GetReferencedAssemblies())
{
    domain.Load(refAsmName);
}
Run Code Online (Sandbox Code Playgroud)

FileNotFoundException又一次,在另一个(参考)集会上.

如何递归加载所有引用?

在加载根程序集之前是否必须创建引用树?如何在不加载程序集的情况下获取程序集的引用?

.net c# reflection assemblies appdomain

108
推荐指数
7
解决办法
12万
查看次数

加入查询或子查询

开发人员在使用连接而不是子查询时是否有经验法则,或者它们是否相同.

sql join subquery

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

优化或"调整"LINQ表达式的最佳方法是什么?

在构造LINQ表达式时(对我来说,linq到对象)有许多方法可以完成某些事情,有些方法比其他方法更好,更好,更有效.

  • 是否有一种"调整"或优化这些表达式的好方法?
  • 人们使用什么基本指标,你如何收集它们?
  • 有没有办法获得"总迭代次数"或其他一些指标,你可以"知道"更低意味着更好?

编辑

感谢Richard/Jon的回答.

看起来我真正想要的是为LINQ表达式获取一个简单的Operation Count"OCount",虽然我不确定LINQ中是否存在钩子以允许它.假设我具有特定机器硬件(SLA)的目标性能级别.理想情况下,我会添加一个单元测试来确认通过该查询移动的典型数据将在指定的时间内(来自SLA)进行处理.问题是这将在构建服务器/开发人员机器/等上运行.这可能与SLA的机器硬件几乎没有相似之处.因此我的想法是,我将确定表达式的可接受的最大"OCount",知道如果OCount小于X,它肯定会在目标"典型"硬件上的SLA下提供可接受的性能.如果OCount超过此阈值,构建/单元测试会产生警告.理想情况下,我想有这样的东西(pseudocode-ish):

var results = [big linq expression run against test dataset];
Assert.IsLess(MAXALLOWABLE_OCOUNT, results.OCount)
Run Code Online (Sandbox Code Playgroud)

其中results.OCount只是给我生成结果集所需的总迭代次数(n).

我为什么喜欢这个?

好吧,即使是中等大小的LINQ表达式,由于增加了整体操作次数,一小部分更改/添加也会对性能产生巨大影响.应用程序代码仍将通过所有单元测试,因为它仍然会产生正确的结果,但在部署时工作速度很慢.

另一个原因是简单的学习.如果你做了什么并且OCount上升或下降了一个数量级,那么你就会学到一些东西.

编辑#2 我也会提出一个潜在的答案.它不是我的,它来自Cameron MacFarland来自另一个问题,我问这个产生了这个问题.事实证明,我认为这个问题的答案可以在单元测试环境中工作,就像我在第一次编辑这个问题时描述的那样.

它的本质是在单元测试夹具中创建测试数据集,您可以按照本答案中概述的方式将其输入LINQ表达式,然后将迭代计数相加并与最大允许迭代计数进行比较.

请参阅Cameron的答案

linq optimization metrics query-optimization

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