问题列表 - 第41012页

一旦两个文件描述符都关闭,Linux是否会自动释放未命名的管道?

我使用一个未命名的管道进行父进程和通过fork()创建的子进程之间的进程间通信.我正在使用unistd.h中包含的pipe()函数

我假设一旦两个文件描述符都被关闭(并且在两个进程中),管道被释放/释放/销毁/等等.但我没有在手册中找到任何明确说明这一点的内容.我正在制作一个可以运行很长时间的程序,所以我想防止内存泄漏和其他类似的事情.

我的函数体看起来像:

int pipefds[2];

pipe( pipefds );

if ( fork() == 0 ) {

    close( pipefds[1] );
    ...
    //Use pipefds[0]
    close( pipefds[0] );

} else {

    close( pipefds[0] );
    ...
    //Use pipefds[1]
    close( pipefds[1] );
}
Run Code Online (Sandbox Code Playgroud)

是否可以安全地假设在此函数终止于子节点和父节点之后,管道已被释放/释放/销毁/等.?

有没有明确说明这一点的文件?

谢谢

c linux pipe

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

如何使WPF Expander向上扩展,同时保持标题固定

我正在尝试创建一个扩展器,其中标题保持固定,内容显示在标题上方,覆盖上面的任何其他控件。在 Canvas 中设置ExpandDirection="Up"和放置 Expander 可以实现一半的效果 - 内容相对于标题向上展开,并覆盖其他控件(尽管在下面),但标题向下移动。

有什么方法可以做到这一点,但将标题保持在固定位置,以便内容最终覆盖上面的控件?

这是我到目前为止所发布的内容:

<Window x:Class="Sandbox.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="900" Width="1100">
  <StackPanel>

    <StackPanel Margin="20,0,0,0">
      <RadioButton Content="Choice One"/>
      <RadioButton Content="Choice Two"/>
      <RadioButton Content="Choice Three"/>
      <RadioButton Content="Choice Four"/>
      <RadioButton Content="Choice Five"/>
      <RadioButton Content="Choice Six"/>
    </StackPanel>

    <Canvas MinHeight="25" Panel.ZIndex="99">
      <Expander Header="This must stay fixed" ExpandDirection="Up" Width="175">
        <Grid Background="Cornsilk">
          <Grid.BitmapEffect>
            <DropShadowBitmapEffect />
          </Grid.BitmapEffect>

          <TextBlock TextWrapping="Wrap" Margin="5">
            This must expand upwards, not downwards.
            The header must remain exactly where it is.
            This TextBlock must appear above the header …
Run Code Online (Sandbox Code Playgroud)

wpf overlay canvas fixed expander

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

并行矩阵产品

为了在并行模式下计算2个矩阵A和B(nxm维度)之间的乘积,我有以下限制:服务器向每个客户端发送矩阵A中的多个行,以及矩阵B中的多个行.这不能改变.此外,客户端可以在彼此之间交换信息,以便计算矩阵产品,但是它们不能要求服务器发送任何其他数据.

这应该尽可能最有效地完成,这意味着通过最小化进程之间发送的消息数量 - 被认为是昂贵的操作 - 并尽可能地并行进行小型计算.

根据我的研究,实际上客户端之间交换的最大数量的消息是n ^ 2,以防每个进程向其他所有进程广播其线路.现在,问题在于如果我最小化发送的消息数量 - 这将是用于分配输入数据的log(n) - 但计算只能由一个或多个进程完成,但无论如何,它不是不再是并行完成的,这是问题的主要思想.

什么是更有效的算法,可以计算这个产品?

(我正在使用MPI,如果它有任何区别).

algorithm parallel-processing matrix mpi

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

显示vi或emacs效率的视频

我使用像eclipse,xcode和netbeans这样的文本编辑器,我很高兴看到开发人员使用emacs或vi的效率有多高.

因此,我想知道您是否知道任何以最高生产率展示实验性vi或emacs开发人员的视频.

注意:我不打算开始编辑器战争,我只是想看看超级程序员是如何工作的,他们使用的编辑器是什么.

vi vim emacs editor

10
推荐指数
3
解决办法
1668
查看次数

Git“推”到“起源”以外的其他地方

我正在使用Git将一些代码发布到GitHub。这是我第一次使用Git,所以我现在只知道需要什么。我在家中使用多台计算机进行更改。在推送到GitHub之前,我可以将更改从一台计算机推送到另一台计算机吗?

git github

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

如何在代码隐藏中检查请求是否是ajax - ASP.NET Webforms

我试过了,Request.IsAjaxRequest但这在WebForms中不存在.我正在进行JQuery ajax调用.如何在C#中检查这是否是ajax请求?

asp.net ajax jquery webforms

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

通过webconfig将目录添加到ASP.NET卷影副本

无论如何Bin通过添加一些配置将文件夹(文件夹除外)标记为阴影复制web.config

我不认为这Application_Start是一个安装的好地方,AppDomainSetup.ShadowCopyDirectories因为那时AppDomain已经加载了.

asp.net web-config shadow-copy

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

拦截模块调用?

我试图“拦截”对特定模块的所有调用,并将它们重新路由到另一个对象。我想这样做,以便我可以拥有一个相当简单的插件架构。

例如,在 main.py

import renderer

renderer.draw('circle')
Run Code Online (Sandbox Code Playgroud)

在 renderer.py 中

specificRenderer = OpenGLRenderer()

#Then, i'd like to route all calls from main.py so that
#specificRenderer.methodName(methodArgs) is called
# i.e. the above example would call specificRenderer.draw('circle')
Run Code Online (Sandbox Code Playgroud)

这意味着任何函数都可以导入渲染器并使用它,而无需担心细节。这也意味着我可以通过创建另一个对象并将其分配给 renderer.py 中的“specificRenderer”值来完全更改渲染器

有任何想法吗?

python module

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

JavaScript:查找DIV的行高,而不是CSS属性,而是实际的行高

假设我有一个DIV:<div></div>我想知道JS的行高是多少.我知道可以检查样式属性style.lineHeight,但我想检查实际的 行高,没有它取决于CSS规则的存在.

假设字体系列和字体大小相同,两者都应输出相同的行高:

<div>One line of text</div>
<div>Two <br /> Lines of text</div>
Run Code Online (Sandbox Code Playgroud)

如何使用JavaScript 获取元素的行高

javascript css

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

为什么要调用$ .getScript而不是直接使用<script>标记?

我不明白替换这个的原因:

<script src="js/example.js"></script>
Run Code Online (Sandbox Code Playgroud)

有了这个:

$.getScript('js/example.js', function() {
  alert('Load was performed.');
});
Run Code Online (Sandbox Code Playgroud)

有没有特别的理由使用jQuery版本?

javascript jquery script-tag getscript

7
推荐指数
3
解决办法
5599
查看次数