小编lgp*_*lgp的帖子

java计时器计划任务

在下列情况下会发生什么?

Timer t = new Timer();
t.schedule(...);
t = new Timer();
Run Code Online (Sandbox Code Playgroud)

具体来说,在我将一个新的Timer实例分配给t之后,我在Timer t上安排的任务会发生什么?

java timer

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

java - 对象内的字段的原子访问

如果我需要对对象内部的int字段进行原子访问,将字段声明为AtomicInteger还是需要使用AtomicIntegerFieldUpdater就足够了?(为什么?)

java atomic

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

java - ThreadPoolExecutor 的 Thread.join()

对于通过 ThreadPoolExecutor 执行的线程,是否有类似 join() 的方法?

如果我向执行器提交一些 Callables 并在它们返回的 Future 上使用 get() 方法,我会得到与 Thread.join() 类似的行为吗?

java multithreading

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

JTextArea.append的线程安全性

java doc说append方法是线程安全的.但是,我记得当我尝试从不同的线程(几个月前)使用附加到文本区域时,我得到混乱的文本,其中线程1将附加一些字符,而线程2将附加一些其他字符.因此,我没有在jtextarea中获取STRINGstring,而是获得了SstTrRINingG.

两者之间会有什么不同:

  1. 同步追加
  2. 瓶颈通过threadpoolexecutor从不同的线程附加
  3. 在EDT上使用invokeLater

或者他们都可以解决问题吗?谢谢

java swing

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

在运行时重新分配事件处理程序

我想BackgroundWorker在运行时更改附加到的委托.下面的东西会起作用吗?

DoWorkEvenHandler dweh = new DoWorkEventHandler(method1);
backgroundworker.DoWork += dweh;
Run Code Online (Sandbox Code Playgroud)

并在某些时候DoWork通过重新分配引用来更改与之关联的委托dweh:

dweh = new DoWorkEventHandler(method2);
Run Code Online (Sandbox Code Playgroud)

c# delegates event-handling

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

LinkedList多线程在Runnable中创建单独的实例

代码说明了我的问题:

public class Linkedlisttest {
    public static void main(String[] args) {
        Linkedlisttest test = new Linkedlisttest();
        test.go(args);
    }
    public void go(String[] args) {
        int cpus = Runtime.getRuntime().availableProcessors();
        ThreadPoolExecutor tpe = new ThreadPoolExecutor(cpus, cpus * 2, 1L,
                TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
        String numbersarray[] = {"one", "two", "three", "four", "five"};
        LinkedList<String> numbers = new LinkedList(Arrays.asList(numbersarray));
        for (int index = 0; index < 2; index++) {
            tpe.execute(new removeNumbers(numbers, index));
        }
    }
    class removeNumbers implements Runnable {
        LinkedList<String> localnumbers;
        int index;
        public removeNumbers(LinkedList<String> localnumbers, int …
Run Code Online (Sandbox Code Playgroud)

java multithreading linked-list

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