小编Mar*_*nio的帖子

Java线程睡眠

我有一个主要的for循环,它将请求发送到外部系统.外部系统可能需要几秒甚至几分钟才能响应.
此外,如果请求数达到MAX_REQUESTS,则当前for循环应该休眠几秒钟.

这是我的情景.让我们说主要for-loop进入睡眠时间为5秒,因为它已达到MAX_REQUESTS.然后说一个先前的外部请求从callExternalSystem()返回.当前处于SLEEP状态的主要for循环线程会发生什么?它会被中断并继续处理还是继续休眠?

for(...){
  ...
  while(numRequestsProcessing > MAX_REQUESTS){
     Thread.sleep(SLEEP_TIME);
  }
  ...
 callExternalSystem();

}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

java multithreading

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

排序String对象

我只是想看看是否有一种简单的方法来对String对象列表进行排序.我现在面临的问题是Collections.sort(...)方法对我不起作用.

这是我的原始列表,根据我的要求目的排序:

    List<String> values = new ArrayList<String>();


    values.add("section_1");
    values.add("section_2");
    values.add("section_3");
    values.add("section_4");
    values.add("section_5");
    values.add("section_6");
    values.add("section_7");
    values.add("section_8");
    values.add("section_9");
    values.add("section_10");
    values.add("section_11");
    values.add("section_12");
    values.add("section_13");
Run Code Online (Sandbox Code Playgroud)

在完成Collections.sort(values)之后,订单现在被破坏了:

section_1
section_10
section_11 
section_12
section_13
section_2
section_3
section_4
section_5
section_6
section_7
section_8
section_9
Run Code Online (Sandbox Code Playgroud)

这是因为Collections.sort(...)中使用的词典排序吗?是否有更简单的方法使这种排序按我想要的方式工作?

提前致谢.

java sorting collections

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

.net子串不工作

我在.NET中使用substring函数时收到ArgumentOutOfRange错误.我是.NET的新手,所以可能做错了.我有一个txtField,它是GUI中的文本字段组件.我正在使用Microsoft Visual Basic 2010 Express

txtField.Substring(txtField.Length-4,txtField.Length-1)
Run Code Online (Sandbox Code Playgroud)

如果txt.Field只包含数字值,则它可以正常工作,但只要文本字段包含字符就会中断.

有人有主意吗?

.net vb.net substring

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

重写 ArrayList 添加方法时出现问题

我有一个扩展 Java ArrayList 的类。我目前使用的是 Java 版本 1.6.0_22-b04。看起来像这样:

public class TokenSequence extends ArrayList<Token>{
    public TokenSequence (Collection<Token> tokens) {
        super(tokens);  
    }

   public void add(Object o) {
       if (o instanceof Token){ 
           add( (Token)o );
   }
   else if (o instanceof TokenSequence)
       add( (TokenSequence)o );
   else
      add( new Token( o.toString() ) );
   }

}
Run Code Online (Sandbox Code Playgroud)

上面代码中的问题是 add(Object o) 方法。Java 不会让我编译代码,因为它说

"Name clash: The method add(Object) of type TokenSequence has the same erasure as add(E) of type ArrayList<E> but does not override it"
Run Code Online (Sandbox Code Playgroud)

相同的代码在 Java 版本 1.6.0_17-b04 …

java java-6

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

标签 统计

java ×3

.net ×1

collections ×1

java-6 ×1

multithreading ×1

sorting ×1

substring ×1

vb.net ×1