问题列表 - 第4873页

这是一个使用java.util.concurrent.FutureTask的好方法吗?

首先,我必须说我对API java.util.concurrent很新,所以也许我正在做的是完全错误的.

我想做什么?

我有一个Java应用程序,基本上运行2个单独的处理(称为myFirstProcess,mySecondProcess),但这些处理必须同时运行.

所以,我试着这样做:

public void startMyApplication() {
    ExecutorService executor = Executors.newFixedThreadPool(2);
    FutureTask<Object> futureOne = new FutureTask<Object>(myFirstProcess);
    FutureTask<Object> futureTwo = new FutureTask<Object>(mySecondProcess);
    executor.execute(futureOne);
    executor.execute(futureTwo);
    while (!(futureOne.isDone() && futureTwo.isDone())) {
        try {
            // I wait until both processes are finished.
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    logger.info("Processing finished");
    executor.shutdown();
    // Do some processing on results
    ...
}
Run Code Online (Sandbox Code Playgroud)

myFirstProcessmySecondProcess是实现的类Callable<Object>,并且在call()方法中进行所有处理.

它工作得很好,但我不确定这是正确的方法.是一个做我想要的好方法吗?如果没有,你能给我一些提示来增强我的代码(并尽可能保持简单).

java concurrency multithreading futuretask

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

如何在Delphi中提高内存安全性?

是否有可能在Delphi中"擦除"字符串?让我解释:

我正在编写一个包含DLL来授权用户的应用程序.它会将加密文件读入XML DOM,在那里使用信息,然后释放DOM.

很明显,未加密的XML仍然存在于DLL的内存中,因此容易受到检查.现在,我不会过分保护 - 用户可以创建另一个DLL - 但我想采取一个基本步骤来防止用户名在内存中存放多年.但是,由于引用,我认为我无论如何都不能轻易擦除内存.如果我遍历我的DOM(这是一个TNativeXML类)并找到每个字符串实例,然后将它变成类似"aaaaa"的东西,那么它实际上不会将新的字符串指针分配给DOM引用,然后保留旧的字符串在内存中等待重新分配?有没有办法确定我要杀死唯一的原始副本?

或者在D2007中是否有一种方法可以告诉它从堆中擦除所有未使用的内存?所以我可以释放DOM,然后告诉它擦除.

或者我应该继续我的下一个任务而忘记这一点因为它真的不值得打扰.

delphi security memory-management ram-scraping

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

如何防止Vim在括号中缩进包装文本

这已经困扰了我很长一段时间,并尝试我可能找不到绕道而行.

当我正在编辑文本(特别是乳胶,但没关系)文件时,我希望它在80列自动换行.它这样做,除非我碰巧在括号子句中间,它缩进文本非常烦人.例如,这很好

Here is some text... over
two lines.
Run Code Online (Sandbox Code Playgroud)

但事实并非如此

Here is some text... (over
                      two
                      lines
Run Code Online (Sandbox Code Playgroud)

如果有人能告诉我如何关闭它(仅用于文本/乳胶文件),我将非常感激.据推测,它与C中所需的行为有关,但我仍然无法弄清楚出了什么问题.

vim latex indentation word-wrap

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

为什么没有ICloneable <T>?

是否存在通用ICloneable<T>不存在的特殊原因?

如果我不想在每次克隆东西时都需要施放它,那会更舒服.

.net c# icloneable

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

在一个sql语句中删除所有表,存储过程,触发器,约束和所有依赖项

有没有什么方法可以通过删除所有表并删除一个SQL语句中的存储过程,触发器,约束和所有依赖项来清理SQl Server 2005中的数据库?

请求的理由:

我希望有一个数据库脚本来清理未使用的现有数据库,而不是创建新数据库,特别是当您必须向数据库管理员发出请求并等待一段时间才能完成时!

sql t-sql sql-server sql-server-2005

282
推荐指数
8
解决办法
28万
查看次数

WebClient + HTTPS问题

我目前正在与第三方创建的系统集成.该系统要求我使用XML/HTTPS发送请求.第三方发给我证书,我安装了它

我使用以下代码:

using (WebClient client = new WebClient())
{
   client.Headers.Add(HttpRequestHeader.ContentType, "text/xml");

   System.Text.ASCIIEncoding  encoding=new System.Text.ASCIIEncoding();
   var response = client.UploadData(address, "POST", encoding.GetBytes(msg));
}
Run Code Online (Sandbox Code Playgroud)

此代码返回以下内容WebException:

底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.

更新因为它是我正在反对的测试服务器,证书不受信任且验证失败...要在测试/调试环境中绕过它,请创建一个新的ServerCertificateValidationCallback

ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(bypassAllCertificateStuff);
Run Code Online (Sandbox Code Playgroud)

这是我的"假"回调

private static bool bypassAllCertificateStuff(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
   return true;
}
Run Code Online (Sandbox Code Playgroud)

在这里这里阅读更多

c# https webclient

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

为什么微软在.net 3.5 SP1之前使JavaScriptSerializer过时并在此之后再次活跃?

在.net 3.5 SP1之后,JavaScriptSerializer并未过时.我应该使用JavaScriptSerializer还是之前推荐的DataContractJsonSerializer?还为什么它被淘汰了?

.net asp.net json

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

远程执行任意python代码 - 可以这样做吗?

我正在研究一个有很多非常强大的计算机的网格系统.这些可以用来非常快速地执行python函数.我的用户有许多python函数需要很长时间才能在工作站上进行计算,理想情况下,他们希望能够在远程强大的服务器上调用某些函数,但是它似乎在本地运行.

Python有一个名为"apply"的旧函数 - 现在python支持扩展调用语法(例如**参数),这几乎没用,但是我需要实现一些有点像这样的东西:

rapply = Rapply( server_hostname ) # Set up a connection
result = rapply( fn, args, kwargs ) # Remotely call the function
assert result == fn( *args, **kwargs ) #Just as a test, verify that it has the expected value. 
Run Code Online (Sandbox Code Playgroud)

Rapply应该是一个类,可以用来远程执行fn远程服务器上的一些任意代码(可能是任何字面上的东西).它将发回rapply函数将返回的结果."结果"应该具有相同的值,就像我在本地调用函数一样.

现在让我们假设这fn是一个用户提供的函数,我需要某种方式通过线路将它发送到执行服务器.如果我能保证fn总是很简单,它可能只是一个包含python源代码的字符串......但是如果它不那么简单呢?

如果fn可能有本地依赖项:它可能是一个简单的函数,它使用在不同模块中定义的类,是否有一种封装方式fn以及fn需要哪些不是标准库?理想的解决方案不需要该系统的用户对python开发有太多了解.他们只是想写他们的功能并调用它.

为了澄清,我对讨论可能使用哪种网络协议来实现客户端和服务器之间的通信感兴趣.我的问题是如何将函数及其依赖项封装为可以序列化和远程执行的单个对象.

我也对在远程服务器上运行任意代码的安全性问题不感兴趣 - 我们只是说这个系统纯粹是为了研究而且是在一个严重防火墙的环境中.

python grid

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

如何改变TDBNavigator组件的行为?

我想更改标准DBNavigator栏上的插入按钮的行为,从数据集插入到追加.

我可以在BeforeAction事件中捕获按钮单击,执行追加等操作; 然后在OnClick事件中中止原始插入,但这似乎有点黑客.有更好的想法吗?我正在使用D6(时钟500,000公里,仍然很强劲......).

谢谢你的建议

问候,

PhilW.

delphi components vcl

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

自变量和变量差异

是什么区别self.myVariable = obj;myVariable = obj;,当我使用@propery/ @synthesize创建`MYVARIABLE?

cocoa cocoa-touch objective-c declared-property

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