问题列表 - 第9770页

这种使用增强条件代码有问题吗?

这段代码是否会等待生产者内部的互斥体void push(data)

如果是这样,我该如何解决这个问题呢?

boost::mutex access;
boost::condition cond;

// consumer
data read()
{
  boost::mutex::scoped_lock lock(access);

  // this blocks until the data is ready
  cond.wait(lock);

  // queue is ready
  return data_from_queue();
}

// producer
void push(data)
{
  //<--- will a block ever happen here?
  boost::mutex::scoped_lock lock(access);
  // add data to queue

  cond.notify_one();  
}
Run Code Online (Sandbox Code Playgroud)

假设我有一个(;;)循环的线程池,我从这个池中的一个线程调用read().然后我处理它上面的数据.我用一些外部线程调用push().我的问题是,外部线程是否可以阻止其对push(数据)的调用?

c++ synchronization boost conditional-statements

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

Zend_Search_Lucene的表现和瓶颈?

我最近一直在使用nutch,最近我知道这个度假胜地.

它的性能如何,以及它可以支持的文件大小限制是多少?

此外,每次修改时如何删除或更新索引而不是重新索引?

php zend-search-lucene

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

如何在php中的文本语句中计算空间

我们如何计算php中文本之间的空间?

example: hi how are you?

spaces: 3
Run Code Online (Sandbox Code Playgroud)

有没有办法计算空间?

语言:只有PHP

php text spaces count

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

在Perl中成功进行正则表达式匹配后,如何访问捕获的子串?

我在Perl中搜索一个字符串并将其存储在另一个标量变量中.我想打印这个标量变量.下面的代码似乎不起作用.我不确定出了什么问题,以及正确的方法是什么.为什么在程序中不存在时打印"1"?

正在运行的数据

数据

      13 E 0.496 -> Q 0.724
      18 S 0.507 -> R 0.513
      19 N 0.485 -> S 0.681
      21 N 0.557 -> K 0.482
Run Code Online (Sandbox Code Playgroud)

以下是我的代码:

#!/usr/bin/perl
use strict;
use warnings;

my $find = '\s{10}[0-9]{2}\s[A-Z]'; #regex. it can also be '\s{10}[0-9]{2}\s[A-Z]' 
                                    #both dont seem to work
my @element;
open (FILE, "/user/run/test") || die "can't open file \n";
while (my $line = <FILE>) {
    chomp ($line);
    print "reached here1 \n"; # to test whether it reading the program properly …
Run Code Online (Sandbox Code Playgroud)

regex perl

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

如何在C#中创建正确的转义文件:// URI?

file://从本地路径创建完全URL编码的URI 的正确方法是什么,即所有特殊字符(如空白等)都被转义?

鉴于以下输入

C:\Data\Input Document.txt
Run Code Online (Sandbox Code Playgroud)

我想得到

file:///C:/Data/Input%20Document.txt
Run Code Online (Sandbox Code Playgroud)

我一直在用

Uri uri = new Uri(@"C:\Data\Input Document.txt", UriKind.RelativeOrAbsolute); 
Run Code Online (Sandbox Code Playgroud)

但是,这会导致未转义的URI:

file:///C:/Data/Input Document.txt
Run Code Online (Sandbox Code Playgroud)

c# uri

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

你应该分配多少内存?

背景:我正在编写一个使用大量地理数据的C++程序,并且希望一次性加载大块进程.我不得不使用为32位机器编译的应用程序.我正在测试的机器运行的是64位操作系统(Windows 7)并且有6 GB的内存.使用MS VS 2008.

我有以下代码:

byte* pTempBuffer2[3];
try
{
    //size_t nBufSize = nBandBytes*m_nBandCount;
    pTempBuffer2[0] = new byte[nBandBytes];
    pTempBuffer2[1] = new byte[nBandBytes];
    pTempBuffer2[2] = new byte[nBandBytes];
}
catch (std::bad_alloc)
{
    // If we didn't get the memory just don't buffer and we will get data one
    // piece at a time.
    return;
}
Run Code Online (Sandbox Code Playgroud)

我希望能够分配内存,直到应用程序达到32位寻址的4千兆字节限制.但是,当nBandBytes为466,560,000时,第二次尝试新抛出std :: bad_alloc.在这个阶段,进程的工作集(内存)值是665,232 K所以,我似乎无法获得分配的内存.

对于32位Windows中的应用程序,已经提到了2 gig的限制,对于win32,可以使用/ 3GB开关扩展到3 gig.在这种环境下这是一个很好的建议,但与这种情况无关.

在具有32位应用程序的64位操作系统下,您应该分配多少内存?

c++ new-operator dynamic-memory-allocation

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

C#字符串拆分

我有一个字符串="google.com 220 USD 3d 19h".

我想提取".com"部分.......

什么是最简单的方法来操纵split string方法来获得这个结果?

c# string split

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

迭代java DOM中的所有XML节点生成

我想检查XML文档是否在任何地方包含'person'元素.我可以非常简单地检查所有第一代元素:

NodeList nodeList = root.getChildNodes();
for(int i=0; i<nodeList.getLength(); i++){
  Node childNode = nodeList.item(i);
  if (childNode.getNodeName() == "person") {
     //do something with it
  }
}
Run Code Online (Sandbox Code Playgroud)

并且我可以添加更多循环以进入子元素,但我必须知道要放入多少嵌套循环来确定要钻取的文档的距离.我可以嵌套10个循环,最后在给定文档中嵌套12个元素的person元素.我需要能够拉出元素而不管嵌套的深度.

有没有办法从整个文档中收集元素?比如将所有标签的文本值作为数组返回或迭代它?

类似于python的elementtree'findall'方法的东西也许:

for person in tree.findall('//person'):
   personlist.append(person)
Run Code Online (Sandbox Code Playgroud)

java xml dom

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

使用动态生成的图像的Actionscript [错误#2036:加载从未完成]

我正在使用一个图像缓存系统,它根据网址路由生成不同的图像.源图像位于文档根目录之外,缓存版本将添加到webroot中的/ cache中.简而言之,在Flash中,如果我指向Loader路径,我第一次得到"Load Never Completed"错误(如果尚未生成缓存的图像).

Error opening URL 'http://characters.dev/cache/Pledges/16107/48_48c/jen001.jpg'
Error #2036: Load Never Completed. URL: http://characters.dev/cache/Pledges/16107/48_48c/jen001.jpg
Run Code Online (Sandbox Code Playgroud)

缓存的图像仍然生成,下次运行应用程序时,实际文件加载时没有错误.我在生成初始图像并编写它时已经发送了正确的标题,所以我想知道为什么flash没有得到响应(似乎在浏览器窗口中工作正常).

header("Content-type:image/jpeg");
echo $this->getResponse()->setBody(file_get_contents($cachedFile));
Run Code Online (Sandbox Code Playgroud)

有想法该怎么解决这个吗?错误似乎"陷入"闪存应用程序.


如果有帮助,这里是响应头:

请求生成图像:

HTTP/1.1 200 OK
Date: Tue, 23 Jun 2009 17:52:49 GMT
Server: Apache
X-Powered-By: PHP/5.2.6
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=6b746d4ed010c288a824522597698ea2; expires=Fri, 24-Jul-2009 17:52:50 GMT; path=/; domain=.characters.dev
Content-Length: 3575
Content-Type: image/jpeg
Run Code Online (Sandbox Code Playgroud)

缓存图像时的请求:

HTTP/1.1 200 OK
Date: Tue, 23 Jun 2009 17:53:27 GMT
Server: Apache
Last-Modified: Tue, …
Run Code Online (Sandbox Code Playgroud)

php flash zend-framework image actionscript-3

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

Interlocked.Increment的性能

Interlocked.Increment(ref x)不是更快或更慢x++的在各种平台上整数和长?

.net performance interlocked interlocked-increment

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