问题列表 - 第4027页

多线程资源访问 - 我在哪里放锁?

我有线程代码,每个线程需要写入同一个文件.为了防止并发问题,我使用的是Lock对象.

我的问题是我是否正确使用了锁.如果我从每个线程中设置锁定,该锁定是全局的还是仅特定于该特定线程?

基本上,我应该先创建一个Lock并将其引用传递给每个线程,还是可以像在此处一样在线程内设置它:

import time
from threading import Thread, Lock

def main():
    for i in range(20):
        agent = Agent(i)
        agent.start()

class Agent(Thread):
    def __init__(self, thread_num):
        Thread.__init__(self)
        self.thread_num = thread_num

    def run(self):
        while True:
            print 'hello from thread %s' % self.thread_num
            self.write_result()   

    def write_result(self):
        lock = Lock()
        lock.acquire()
        try:
            f = open('foo.txt', 'a')
            f.write('hello from thread %s\n' % self.thread_num)
            f.flush()
            f.close()
        finally:
            lock.release()

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

python multithreading locking

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

使用JDBC,如何将多个ID替换为"DELETE FROM T WHERE id IN(?)"

我有一些代码生成一组我想从数据库表中删除的主键值.

long[] keysToDelete = { 0, 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)

我想使用PreparedStatement执行相当于

DELETE FROM MyTable WHERE myPrimaryKey IN (0, 1, 2, 3);
Run Code Online (Sandbox Code Playgroud)

知道怎么样?

java sql jdbc prepared-statement

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

C++ singleton GetInstance()返回

在C++中实现单例时,GetInstance()返回指向单例对象或引用的指针是否更好?真的有关系吗?

c++ singleton pointers reference

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

SQL 2008镜像,处于"恢复"状态

我正在使用主体,镜像和见证来测试SQL Server 2008镜像.我已经看过这些例子,用NORECOVERY恢复镜像.校长说这是同步的.但镜子仍显示它处于"恢复......"状态.我应该这样离开吗?我应该运行RESTORE WITH RECOVERY吗?

mirroring sql-server-2008

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

将库从Java移植到Python

我即将把一个小型库从Java移植到Python并想要一些建议(小〜几千行代码).我已经研究了一些Java代码,并注意到了两种语言中常见的一些设计模式.然而,肯定存在一些仅限Java的习语(单身等),这些习惯在Python世界中通常不被广泛接受.

我知道至少存在一个工具(j2py),它将通过遍历AST将.java文件转换为.py文件.一些初步实验产生了不太有利的结果.

我是否应该考虑使用自动化工具生成一些代码,或者语言是否足够,以至于任何工具都能创建足够的重新工作来从头开始编写证明文件?

如果工具不是魔鬼,除了j2py之外还有哪些能够至少处理同一项目的导入管理?我不希望任何工具将第三方库从一种语言与另一种语言的替代品相匹配.

python java

6
推荐指数
3
解决办法
1354
查看次数

如何防止打印屏幕

我要求我正在处理的应用程序阻止用户轻松捕获屏幕内容.

我已经说过没有可行的方法可以完全防止这种情况发生,但我正在寻找方法来为这个过程引入一些障碍.

我正在使用C#/ .NET 2.0和WinForms

.net c# .net-2.0 winforms c#-2.0

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

使用ReferenceProperties过滤模型

我正在使用谷歌应用引擎,并且无法编写查询来过滤ReferenceProperties.

例如.

class Group(db.Model):
    name = db.StringProperty(required=True)
    creator = db.ReferenceProperty(User)

class GroupMember(db.Model):
    group = db.ReferenceProperty(Group)
    user = db.ReferenceProperty(User)
Run Code Online (Sandbox Code Playgroud)

我尝试过写这样的东西:

members = models.GroupMember.all().filter('group.name =', group_name)
Run Code Online (Sandbox Code Playgroud)

和其他各种不起作用的东西.希望有人能给我一个正确方向的刺激......

python google-app-engine

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

如何在Java中使用foreach循环来遍历HashMap中的值?

我正在尝试编译以下代码:

private String dataToString(){
    Map data = (HashMap<MyClass.Key, String>) getData();
    String toString = "";
    for( MyClass.Key key: data.keySet() ){
        toString += key.toString() + ": " + data.get( key );
    return toString;
}
Run Code Online (Sandbox Code Playgroud)

我在for行中遇到错误:

incompatible types
found : java.lang.Object
required: MyClass.Key

getData()方法返回一个Object(但在这种情况下Object返回的HashMap结构). MyClass.Key是我为我的应用程序创建的枚举(在另一个类文件中MyClass).

当我创建一个具有相同结构的foreach循环时MyClass.java,我没有遇到这个问题.

我究竟做错了什么?

java foreach hashmap

37
推荐指数
4
解决办法
10万
查看次数

如何从UIImage(Cocoa Touch)或CGImage(Core Graphics)获取像素数据?

我有一个UIImage(Cocoa Touch).从那以后,我很高兴得到一个CGImage或其他你想要的东西.我想写这个函数:

- (int)getRGBAFromImage:(UIImage *)image atX:(int)xx andY:(int)yy {
  // [...]
  // What do I want to read about to help
  // me fill in this bit, here?
  // [...]

  int result = (red << 24) | (green << 16) | (blue << 8) | alpha;
  return result;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

cocoa cocoa-touch core-graphics

196
推荐指数
9
解决办法
14万
查看次数

lambda函数在bash中

有没有办法在bash中实现/使用lambda函数?我想的是:

$ someCommand | xargs -L1 (lambda function)
Run Code Online (Sandbox Code Playgroud)

bash lambda

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