问题列表 - 第46883页

如何从HttpsURLConnection创建Java非阻塞InputStream?

基本上,我有一个URL,可以在发布新消息时从聊天室传输xml更新.我想将该URL转换为InputStream并继续读取它,只要保持连接并且只要我没有发送Thread.interrupt().我遇到的问题是,当从流中读取内容时,BufferedReader.ready()似乎不会成为现实.

我正在使用以下代码:

BufferedReader buf = new BufferedReader(new InputStreamReader(ins));


String str = "";
while(Thread.interrupted() != true)
{
    connected = true;
    debug("Listening...");

    if(buf.ready())
    {
        debug("Something to be read.");
        if ((str = buf.readLine()) != null) {
            // str is one line of text; readLine() strips the newline character(s)
            urlContents += String.format("%s%n", str);
            urlContents = filter(urlContents);
        }
    }

    // Give the system a chance to buffer or interrupt.
    try{Thread.sleep(1000);} catch(Exception ee) {debug("Caught thread exception.");}
}
Run Code Online (Sandbox Code Playgroud)

当我运行代码并将某些内容发布到聊天室时,buf.ready()永远不会成为现实,从而导致行不会被读取.但是,如果我跳过"buf.ready()"部分并直接读取行,它会阻止进一步操作直到读取行.

我如何a)让buf.ready()返回true,或者b)以防止阻塞的方式执行此操作?

詹姆斯,先谢谢你

java inputstream nonblocking

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

带有DefineConstants的解决方案文件的MsBuild

目前,在我的自动构建中,我使用devenv.exe来构建我的解决方案文件:

devenv /build myproject1.sln
Run Code Online (Sandbox Code Playgroud)

现在,我想创建我的应用程序的两个版本,正常版本和轻量版本.这两个版本的源代码是相同的,只是在轻型版本中,某些功能被禁用,为此我使用#define lite预处理器指令(在csproject文件中,这些常量在DefineConstantsProperty Group 下定义).

在MsBuild中 - 或者只是正常的devenv构建 - 是否可以指定我想要的符号是否应该存在于构建中?我问这个的原因是因为我想slnlite预处理器指令(对于lite版本)第一次构建我的文件,第二次是没有lite预处理器指令(对于完整版本).

c# msbuild visual-studio-2008

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

选择随机行

大家好,我的要求很简单.我想从表中选择随机行.

例如我的表有10行我想随机选择任意三行.在psql中有任何方法.

postgresql

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

Codeigniter expressionEngine

我刚开始使用codeigniter,我发现它很容易使用.我最近遇到了ExpressionEngine,看起来像codeigniter的一个很好的附加组件.我的问题是,在我安装了ExpressionEngine之后,它将改变我使用codeigniter的方式,其中代码进入控制器并在视图文件夹中查看.

codeigniter expressionengine

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

在逗号上拆分,但仅在不在括号中时

我试图用逗号分隔符对字符串进行拆分

my $string='ab,12,20100401,xyz(A,B)';
my @array=split(',',$string);
Run Code Online (Sandbox Code Playgroud)

如果我如上所述进行拆分,则数组将具有值

ab
12
20100401
xyz(A,
B)
Run Code Online (Sandbox Code Playgroud)

我需要如下的价值观.

ab
12
20100401
xyz(A,B) 
Run Code Online (Sandbox Code Playgroud)

(不应该将xyz(A,B)分成2个值)我该怎么做?

perl split

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

存储库和服务层之间的区别?

在OOP设计模式中,存储库模式和服务层之间有什么区别?

我正在开发一个ASP.NET MVC 3应用程序,我正在尝试理解这些设计模式,但我的大脑却没有得到它......

oop asp.net-mvc repository-pattern service-layer

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

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

MySQL:UPDATE太慢了

以下是我必须运行的一系列查询的基准.如您所见,UPDATE明显慢于其他查询.我该怎么做才能加快它们的速度?

0.0002  LOCK TABLE category WRITE; 
0.0004  
        SELECT
            @myLeft := left_id
        FROM
            category
        WHERE
            `amazon_browse_node_id` = 2675;

0.0184  UPDATE category SET right_id = right_id + 2 WHERE right_id > @myLeft; 
0.0161  UPDATE category SET left_id = left_id + 2 WHERE left_id > @myLeft; 
0.0007  INSERT INTO category(`name`, `amazon_browse_node_id`, `category_seo_friendly_url`, `left_id`, `right_id`) VALUES('Training', 2697, 'training-2697/', @myLeft + 1, @myLeft + 2); 
0.0004  UNLOCK TABLES;
Run Code Online (Sandbox Code Playgroud)

这个问题与以下问题(以及我尝试解决方案)有关,我也在这里发布了SO:

  1. MySQL:嵌套集很慢?
  2. MySQL触发器是为了缓存结果?

更新:

CREATE TABLE IF NOT EXISTS `category`
  (
     `category_id`               INT(11) NOT NULL AUTO_INCREMENT, …
Run Code Online (Sandbox Code Playgroud)

mysql database

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

转换为尾递归

嘿伙计们,我正在尝试使用函数式编程(特别是使用F#),并且在构建尾递归函数时我遇到了问题.我很好地将基本递归(函数基本上每次调用一次调用自身)转换为尾递归,但我现在有一个稍微复杂的情况.

在我的例子中,该函数必须接受一个列表作为参数.调用该函数时,我必须从列表中删除第一个元素,然后使用列表的其余部分重复.然后我需要将我以某种方式删除的第一个元素应用于递归的结果.接下来,我删除第二个元素并执行相同的操作(注意:当我说"删除seond元素"时,即来自原始列表,因此在递归时传递的列表也包括第一个元素).我对列表的第三,第四等元素也这样做.

有没有办法将上述情况转换为尾递归函数?也许嵌套的尾递归函数??? 谢谢你的任何答案.


好的,这是我的基本代码.这个特定的一个是置换生成器(我不太关心置换部分,但是 - 这是我想关注的递归):

let permutationsOther str =
  match str with
  | value :: [] ->
    [[value]]
  | _ ->
    let list = (List.map (fun a -> // This applies the remove part for every element a
      let lst = (List.filter (fun b -> b <> a) str) // This part removes element a from the list
      let permutedLst = permutations lst // recursive call
      consToAll a permutedLst // constToAll this is my own function which performs …
Run Code Online (Sandbox Code Playgroud)

f# functional-programming tail-recursion

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

使用泄漏时的NSLog消息

使用Leaks时如何查看NSLog消息?它没有显示控制台输出?

iphone xcode cocoa-touch memory-leaks objective-c

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