问题列表 - 第15973页

多线程BASH编程 - 通用方法?

好吧,我在所有演示中都运行了POV-Ray,但是POV仍然是单线程的,并且不会使用多个核心.所以,我开始考虑BASH的解决方案.

我写了一个通用函数,它接受一个命令列表并在指定数量的子shell中运行它们.这实际上有效,但我不喜欢它以线程安全的 多进程方式处理下一个命令的方式:

  • 作为参数,它需要一个带命令的文件(每行1个),
  • 要获得"下一个"命令,每个进程("线程")将:
    • 等到它可以创建一个锁文件,使用:ln $ CMDFILE $ LOCKFILE
    • 从文件中读取命令,
    • 删除第一行修改$ CMDFILE,
    • 删除$ LOCKFILE.

有更清洁的方法吗? 我无法让子shell正确读取FIFO中的单行.


顺便提一下,这一点是为了增强我在BASH命令行上可以做的事情,而不是找到非bash解决方案.我倾向于从命令行执行许多复杂的任务,并希望工具箱中有另一个工具.

同时,这是处理从文件中获取下一行的函数.如您所见,它每次读取/删除一行时都会修改磁盘文件.这似乎是hackish,但我没有想出更好的东西,因为FIFO没有用bash中的setvbuf()工作.

#
# Get/remove the first line from FILE, using LOCK as a semaphore (with
# short sleep for collisions).  Returns the text on standard output,
# returns zero on success, non-zero when file is empty.
#
parallel__nextLine() 
{
  local line rest file=$1 lock=$2

  # Wait for lock...
  until ln "${file}" "${lock}" 2>/dev/null …
Run Code Online (Sandbox Code Playgroud)

bash shell multithreading mutex semaphore

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

BizTalk自定义适配器

我不确定我是否提出了正确的问题,但这是我想要运行的场景:

多个文件(XML和一些相关文件,"附件")必须作为单个消息进入BizTalk.我已经研究过现有的适配器,并且看不到现有的适配器.为了更准确,文件来自文件系统.文件不会同时找到,但一旦到达,则无法确保订单.XML(内容)文件是知道它必须具有哪些附件(其他文件)的文件.

我们正在研究BizTalk 2009,我想知道自定义适配器或其他东西的责任.我是否可以寻找样品.

谢谢.

biztalk biztalk-2009

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

堆碎片和Windows内存管理器

我的程序中存在内存碎片问题,一段时间后无法分配非常大的内存块.我已经阅读了这个论坛上的相关帖子 - 主要是这个.我还有一些问题.

我一直在使用内存空间分析器来获取内存的图片.我写了一个包含cin >> var的1行程序; 并拍下了记忆的照片:

alt text http://img22.imageshack.us/img22/6808/memoryk.gif 顶部弧线的位置 - 绿色表示空白,黄色分配,红色提交.我的问题是右侧分配的内存是什么?它是主线程的堆栈吗?这个内存不会被释放,它会分裂我需要的连续内存.在这个简单的1行程序中,拆分并不是那么糟糕.我的实际程序在地址空间的中间分配了更多的东西,我不知道它来自哪里.我还没分配那个记忆.

  1. 我该如何解决这个问题?我想改用像nedmalloc或dlmalloc这样的东西.但是,这只适用于我自己明确分配的对象,而图片中显示的分割不会消失?或者有没有办法用另一个内存管理器替换CRT分配?

  2. 说到对象,是否有适用于c ++的nedmalloc包装器,所以我可以使用new和delete来分配对象?

谢谢.

c++ windows memory-management

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

在带有单击事件的元素中单击LABELS时,避免"双事件"

我有一些看起来像这样的HTML:

<ul class="toggleList">
      <li><input type="checkbox" name="toggleCbx1" id="toggleCbx1" /><label for="toggleCbx1">Item 1</label></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我正在使用jquery将单击事件附加到LI,然后将修改某些类并选中或取消选中其中的复选框.

我附上了click事件:

$("ul.toggleList li").click(function(){toggleStuff($(this));})
Run Code Online (Sandbox Code Playgroud)

如果我点击LI中的任何位置,这可以正常工作.但是,如果我单击LI中的LABEL,我的click事件将被调用两次.

这是为什么?我认为这与某种事件起泡有关,对吗?

因此,使用.triggerHandler的解决方案是什么?我已经对它做了一些阅读并查看了一些示例,但我不太了解设置它的正确语法.

附录:

Sam指出了一个我认为会导致解决方案的选项.这可能不是triggerHandler问题.

似乎正在发生的事情是(默认情况下?)点击LABEL会使点击事件冒泡.解决方案似乎是检查事件是否由标签触发,如果是,则覆盖该标签.

做一些测试:

[...].click(function(evt){
        console.log(evt.target);
        if ($(evt.target).not("label")) {
            console.log("not label?");
            doMyThing($(this));
        }else{
            console.log("is label?");
        };
Run Code Online (Sandbox Code Playgroud)

以上不起作用.无论我点击LABEL还是其他元素,它都认为它不是标签.

奇怪的是,扭转逻辑确实有效:

[...].click(function(evt){
        console.log(evt.target);
        if ($(evt.target).is("label")) {
            console.log("is label?");
        }else{
            console.log("not label?");
            doMyThing($(this));
        };
Run Code Online (Sandbox Code Playgroud)

知道那是什么吗?我会做更多测试......

最终附录:

哎呀!用户错误.我错误地认为'.not'与'.''相反.嗯,那不是真的..is进行比较并返回一个布尔值..not删除匹配的元素(因此返回对象).

所以,我猜一个人总是必须检查.is并在测试'not is'时使用else

jquery label click

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

为什么charset名称不是常量?

Charset问题本身令人困惑和复杂,但最重要的是你必须记住你的charsets的确切名称.是"utf8"吗?还是"utf-8"?或许"UTF-8"?在互联网上搜索代码示例时,您将看到以上所有内容.为什么不将它们命名为常量并使用Charset.UTF8

java character-encoding

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

我可以将Perl的地图与数组切片一起使用吗?

我只是想缩短一行代码,将HTML :: Element-> as_trimmed_text从HTML :: Elements数组分配给一些变量 - 非常标准的东西,如:

my ($var1, var2) = ($columns[1]->as_trimmed_text, $columns[2]->as_trimmed_text);
Run Code Online (Sandbox Code Playgroud)

..除了有更多的列,所以它继续超过几行.我有一个明智的想法,我可以使用地图而不是我真的没有多少运气.我尝试过变种

map { $_->as_trimmed_text } @columns[1, 3, 5, 7, 9]
Run Code Online (Sandbox Code Playgroud)

但我一直在没有包或对象引用的情况下调用方法"as_trimmed_text".

有可能做我正在尝试的事情,还是应该坚持我现在拥有的东西?

TIA

编辑:列 - >列

arrays perl map subscript

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

Django的资产经理 - 选择哪一个?

我想捆绑css和javascript文件.我还想向客户端发送远期过期标头,因此我需要文件版本控制.

通过互联网进行的快速搜索表明,为Django开发了几种资产管理器.以下是我可以达到的列表:

  1. Django的压缩
  2. Django的资产
  3. Django的assetpackager
  4. Django的媒体打捆
  5. Django的mediacat
  6. Django的网站资产
  7. Django的静态管理
  8. Django的压缩机

他们似乎或多或少地执行相同的工作.django-compress,django-compressor和django-site-assets乍一看似乎特别有前途.如果有人提供任何有助于我们在他们之间做出选择的反馈,我将不胜感激.

django django-apps

24
推荐指数
3
解决办法
5815
查看次数

是否可以从python中的对象(而不是类)中删除方法?

我有一个带有几个方法的类,其中一些只在对象处于特定状态时才有效.我希望这些方法在它们处于合适的状态时不会被绑定到对象上,这样我得到的结果如下:

>>> wiz=Wizard()
>>> dir(wiz)
['__doc__', '__module__', 'addmana']
>>> wiz.addmana()
>>> dir(wiz)
['__doc__', '__module__', 'addmana', 'domagic']
>>> wiz.domagic()
>>> dir(wiz)
['__doc__', '__module__', 'addmana']
>>> wiz.domagic()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: Wizard instance has no attribute 'domagic'
Run Code Online (Sandbox Code Playgroud)

我可以看到如何添加方法(types.MethodType(方法,对象)),但我看不到任何方法只删除单个对象的方法:

>>> wiz.domagic
<bound method Wizard.domagic of <__main__.Wizard instance at 0x7f0390d06950>>
>>> del wiz.domagic
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: Wizard instance has no attribute 'domagic'
Run Code Online (Sandbox Code Playgroud)

覆盖__dir__(并且在调用时获取InvalidState或NotEnoughMana异常而不是引用时的AttributeError)可能没问题,但我无法准确地看到如何模仿dir()的内置行为.(理想情况下,我更喜欢在Python 2.5中运行的方式)

想法?

python

5
推荐指数
4
解决办法
4799
查看次数

PHP表单验证年份

在表单数据提交到MySQL数据库之前,我使用PHP来验证表单输入.

仅验证年度表单输入的最佳方法是什么?我有一个表单输入,用户应该以一年的形式输入日期.显然我可以检查输入的数字并且只有4个字符,但是确保输入的数字是日期的合理数字的最佳方法是什么?

php forms validation date

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

使用jQuery在2个引号之间查找文本

好的,所以我有这个小块的文字:

function onfocus(event) {
  if ($(this).val() == "Some Arbitrary Text") {$(this).val("");}
}
Run Code Online (Sandbox Code Playgroud)

使用jQuery或JavaScript,我想找到"任意文本".除"任意文本"外,此文本块是常量.理想情况下,我想要一种解析它的方法,而无需使用复杂的循环和正则表达式.

为了帮助澄清:文本是javascript的事实不起作用.把它想象成我正在解析的文本."任意文本"可以是任何东西,我试图找到2个引号之间的文本.

javascript jquery parsing

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