问题列表 - 第10922页

何时释放NSThread是否安全?

下面是我的辅助NSThread*processThread的runloop

关闭我打电话的主题

//cancel secondary thread
[processThread cancel]
//signal condition
[processCondition broadcast];
Run Code Online (Sandbox Code Playgroud)

然后可以安全地打电话:

[processCondition release];
[processThread release];
Run Code Online (Sandbox Code Playgroud)

或者我需要确定线程已完成?

也许是这样的?

NSTimeInterval timeout = [NSDate timeIntervalSinceReferenceDate] + (1.0/15.0);

while ([processThread isExecuting] && [NSDate timeIntervalSinceReferenceDate] < timeout)
{
    [NSThread sleepForTimeInterval: 1.0/1000.0 ];
}

[processCondition release];
[processThread release];
Run Code Online (Sandbox Code Playgroud)




详细代码和说明:

- (void)processLoop
{
    NSAutoreleasePool * outerPool = [[NSAutoreleasePool alloc] init];
    [processCondition lock];

    //outer loop    
    //this loop runs until my application exits
    while (![[NSThread currentThread] isCancelled])    
    {
        NSAutoreleasePool *middlePool = [[NSAutoreleasePool alloc];
        if(processGo)
        {
            //inner loop
            //this …
Run Code Online (Sandbox Code Playgroud)

iphone multithreading objective-c

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

检索 groovy 中最后插入的对象的 id

我正在导入 groovy 中的原始数据,数十万个条目。我使用表字段作为哈希映射的键,然后在groove sql 数据集上使用add(hash) 方法。数据集进入 postgres 表,ID 字段是根据序列自动生成的。我需要在插入每条记录时获取它的 ID。

在 java + hibernate 中,ID 会自动插入到被持久化的对象的相应字段中。在这种情况下,add() 方法不会返回任何内容,也不会将 id 字段添加到哈希表中。出于效率原因,我试图避免在这里使用 hibernate/gorm 。

感谢您的指点或更好的方法。

sql groovy

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

Python hashable dicts

作为一个练习,主要是为了我自己的娱乐,我正在实现一个回溯包装解析器.对此的灵感是我想更好地了解hygenic宏如何在类似algol的语言中工作(与你通常在其中找到的语法免费lisp方言相对应).因此,通过输入的不同传递可能会看到不同的语法,因此缓存的解析结果无效,除非我还存储语法的当前版本以及缓存的解析结果.(编辑:使用键值集合的结果是它们应该是不可变的,但我不打算公开接口以允许它们被更改,因此可变或不可变集合都可以)

问题是python dicts不能作为其他dicts的键.即使使用元组(正如我将要做的那样)也无济于事.

>>> cache = {}
>>> rule = {"foo":"bar"}
>>> cache[(rule, "baz")] = "quux"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'dict'
>>> 
Run Code Online (Sandbox Code Playgroud)

我想它必须一直是元组.现在python标准库提供了我所需要的,collections.namedtuple具有非常不同的语法,但可以用作键.继续上述会议:

>>> from collections import namedtuple
>>> Rule = namedtuple("Rule",rule.keys())
>>> cache[(Rule(**rule), "baz")] = "quux"
>>> cache
{(Rule(foo='bar'), 'baz'): 'quux'}
Run Code Online (Sandbox Code Playgroud)

好.但是我必须为我想要使用的规则中的每个可能的键组合创建一个类,这不是那么糟糕,因为每个解析规则确切地知道它使用了什么参数,因此可以同时定义该类作为解析规则的函数.

编辑:namedtuples 的另一个问题是它们是严格定位的.两个看起来应该不同的元组实际上可以是相同的:

>>> you = namedtuple("foo",["bar","baz"])
>>> me = namedtuple("foo",["bar","quux"])
>>> you(bar=1,baz=2) == me(bar=1,quux=2)
True
>>> bob = namedtuple("foo",["baz","bar"]) …
Run Code Online (Sandbox Code Playgroud)

python

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

编辑文本验证

我想知道如何在EditText上进行验证.例如,我有一个只应接受数值的EditText.如果用户输入了除数值之外的其他内容,则应显示警告消息( "请使用数值......").

是否有一个函数可以确定输入的文本是否是特定类型?如果可能,请提供代码段.

validation android android-edittext

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

MySQL的最佳varchar大小是多少?

MySQL如何存储varchar字段?我可以假设以下模式表示合理的存储大小:

1,2,4,8,16,32,64,128,255(最大)

通过示例澄清.假设我有一个20个字符的varchar字段.MySQL在创建这个字段时,基本上保留了32个字节的空间(不确定它们是否为字节)但只允许输入20个字节?

我想我担心为大型表优化磁盘空间.

mysql varchar

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

防止子节点的mouseout事件

我有图像列表,在图像上我想显示该图像的一些信息.而信息div的mouseout,同样应该消失.问题是当鼠标在info div的子标签上移动时,它甚至会触发mouseout,这不应该.我正在使用普通的JavaScript.

<div id="pop_div" onmouseout="clearinfo()" >
   <img alt="" src="" />
   <p>lines of text</p>
</div>


function clearinfo()
{
  document.getElementById("pop_div").style.dispaly = "none";
}
Run Code Online (Sandbox Code Playgroud)

javascript mouseout

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

如何在SQLite中更新前n条记录

是否有任何查询可用于仅更新SQLite DB的前n个记录..?

sqlite

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

编辑器中的C++自动类实现

我花在开发C++应用程序上的大部分时间都浪费在实现类定义上.我的意思是类的原型设计然后创建它们各自的实现.

例如:

#ifndef FOO_H
#define FOO_H

class Foo
{
public:
   Foo (const X& x, const Y& Y);
   ~Foo ();

   void PerformXYZ (int Count);
};

#endif
Run Code Online (Sandbox Code Playgroud)

现在我必须复制并粘贴,然后在每个函数上添加重复的Foo ::.

Foo::Foo (const X& x, const Y& Y)
{

}

Foo::~Foo ()
{

}

void Foo::PerformXYZ (int Count)
{

}
Run Code Online (Sandbox Code Playgroud)

现在我将函数声明复制到它们各自的*.cpp文件,删除空行,然后替换';' 用"\n {\n \n} \n".但是,我仍然需要为每个函数指定命名空间.

Eclipse,Vim或任何其他IDE /编辑器中是否有工具可以减轻开发人员的负担?

c++ editor

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

Len()vs SQL Server 2005中的datalength()

最近我len()在查询中使用查找查询的长度时遇到了一个问题,len()不计算值中的尾随空格.但是datalength()也在计算尾随空间.

这是否意味着,如果我做了一些操作与价值的实际长度涉及然后我不得不使用dalalength()len().

例如:如果我需要特定值的值是10个字符长度.即如果值为3个字符长度,我要向其附加7个空格.

问候

sql-server datalength

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

从C语言中删除文件中的行

我想删除文件中的某些行,并根据行的某些部分是否与指定的字符串匹配,在同一文件中插入某些行.有没有办法这样做而不使用临时文件将内容复制到等等?

c file-io

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