jjzjj

concurrent

全部标签

java - java - 如何从java线程抛出检查异常?

嘿,我正在编写一个网络应用程序,我在其中读取一些自定义二进制格式的数据包。我正在启动一个后台线程来等待传入的数据。问题是,编译器不允许我将任何抛出(检查)异常的代码放入run()中。它说:run()in(...).Listenercannotimplementrun()injava.lang.Runnable;overriddenmethoddoesnotthrowjava.io.IOException我希望异常杀死线程,并让它在父线程的某个地方被捕获。这可能实现还是我必须处理线程内部的每个异常? 最佳答案 为了能够将异常发送到父线

java - java - 如何从java线程抛出检查异常?

嘿,我正在编写一个网络应用程序,我在其中读取一些自定义二进制格式的数据包。我正在启动一个后台线程来等待传入的数据。问题是,编译器不允许我将任何抛出(检查)异常的代码放入run()中。它说:run()in(...).Listenercannotimplementrun()injava.lang.Runnable;overriddenmethoddoesnotthrowjava.io.IOException我希望异常杀死线程,并让它在父线程的某个地方被捕获。这可能实现还是我必须处理线程内部的每个异常? 最佳答案 为了能够将异常发送到父线

Java 线程转储 : Difference between "waiting to lock" and "parking to wait for"?

在Java线程转储中,您可以看到堆栈跟踪中提到的锁。似乎有三种信息:1:-locked(ajava.io.BufferedInputStream)2:-waitingtolock(aorg.alfresco.repo.lock.LockServiceImpl)3:-parkingtowaitfor(ajava.util.concurrent.SynchronousQueue$TransferStack)1:线程已获得对象0x00002aab329f7fa0的锁定。2&3:好像是说线程正在等待所述对象上的锁变为可用...但是2和3有什么区别? 最佳答案

Java 线程转储 : Difference between "waiting to lock" and "parking to wait for"?

在Java线程转储中,您可以看到堆栈跟踪中提到的锁。似乎有三种信息:1:-locked(ajava.io.BufferedInputStream)2:-waitingtolock(aorg.alfresco.repo.lock.LockServiceImpl)3:-parkingtowaitfor(ajava.util.concurrent.SynchronousQueue$TransferStack)1:线程已获得对象0x00002aab329f7fa0的锁定。2&3:好像是说线程正在等待所述对象上的锁变为可用...但是2和3有什么区别? 最佳答案

java - 线程完成工作后如何返回值?

假设我们有一个简单的例子:publicExampleextendsThread{Stringtemp;publicExample(){}@Overridepublicvoidrun(){....temp="a_value";}publicstaticvoidmain(String[]args){Exampleth=newExample();th.start();}}线程完成工作后如何将字符串临时返回给我? 最佳答案 利用(相对)新的Callable而不是Runnable(在1.5和更新版本中可用):这是一个(简单的)示例:impor

java - 线程完成工作后如何返回值?

假设我们有一个简单的例子:publicExampleextendsThread{Stringtemp;publicExample(){}@Overridepublicvoidrun(){....temp="a_value";}publicstaticvoidmain(String[]args){Exampleth=newExample();th.start();}}线程完成工作后如何将字符串临时返回给我? 最佳答案 利用(相对)新的Callable而不是Runnable(在1.5和更新版本中可用):这是一个(简单的)示例:impor

java - WeakHashMap 是否有 java.util.concurrent 等价物?

是否可以不使用Collections.synchronizedMap()重写以下代码,同时在并发时保持正确性?Collections.synchronizedMap(newWeakHashMap());即java.util.concurrent有什么可以代替的吗?请注意,仅替换为newConcurrentHashMap(newWeakHashMap()));显然不行 最佳答案 Guava的CacheBuilder类可以让你轻松做到这一点。CacheBuilder.newBuilder().weakKeys().build()请注意,

java - WeakHashMap 是否有 java.util.concurrent 等价物?

是否可以不使用Collections.synchronizedMap()重写以下代码,同时在并发时保持正确性?Collections.synchronizedMap(newWeakHashMap());即java.util.concurrent有什么可以代替的吗?请注意,仅替换为newConcurrentHashMap(newWeakHashMap()));显然不行 最佳答案 Guava的CacheBuilder类可以让你轻松做到这一点。CacheBuilder.newBuilder().weakKeys().build()请注意,

java - SingleThreadExecutor 中 java.util.concurrent.RejectedExecutionException 的可能原因是什么

我在单例中创建了以下执行器:finalprivateExecutorServiceexecutor=Executors.newSingleThreadExecutor(newThreadFactory(){finalThreadFactorydelegate=Executors.defaultThreadFactory();publicThreadnewThread(RunnableparamAnonymousRunnable){ThreadlocalThread=this.delegate.newThread(paramAnonymousRunnable);localThread.s

java - SingleThreadExecutor 中 java.util.concurrent.RejectedExecutionException 的可能原因是什么

我在单例中创建了以下执行器:finalprivateExecutorServiceexecutor=Executors.newSingleThreadExecutor(newThreadFactory(){finalThreadFactorydelegate=Executors.defaultThreadFactory();publicThreadnewThread(RunnableparamAnonymousRunnable){ThreadlocalThread=this.delegate.newThread(paramAnonymousRunnable);localThread.s