multithreading相关内容
我在Android上处理此问题: 从不正确的线程访问Realm。 Realm对象只能在它们创建的线程上访问。 我想在我的RemoteViewsFactory中使用Realm 公共类RemoteViewsX实现RemoteViewsFactory { public RemoteViews getViewAt(int paramInt){ if(this.results!=
..
我最近遇到过volatile关键字这种奇怪的行为。据我所知, 对变量应用volatile关键字以反映对$ b数据所做的更改$ b将一个线程的变量放到另一个线程上。 volatile关键字阻止在线程上缓存数据。 我做了一个小测试........ 我使用了一个名为count的整数变量,并使用了volatile关键字。 然后做了两个不同的线程来将变量值增加到10000,所以
..
我创建了一个Java GUI应用程序,它充当许多低级外部进程的包装器。该实用程序按原样工作,但迫切需要一个重大改进。 我希望我的外部进程以非阻塞方式运行,这将允许我提供额外服务请求并行。简而言之,我希望能够在生成数据时处理来自外部流程的数据。但似乎我检查并查看外部进程是否仍在运行的基本尝试是阻塞。 以下是我的ExternalProcess类的摘录。有关线程和阻塞的特定Java功能问题,
..
有人告诉我你不应该从在Tomcat下运行的webapp(或任何其他容器,大概是)开始自己的线程 Runnable myRunnable = new Runnable(){ public void run(){ System.out.println(“我正在运行”); } } 新线程(myRunnable).start(); 或类似地: Schedu
..
我有一个关于Java中多线程方法调用的问题。假设我们有一个单例对象,其类声明如下: public class SomeClass { public void someMethod (SomeValueObject对象){ if(object.condition1){ ... } if(object.condition2){ ... } if(object.condi
..
我正在同时使用WeakHashMap。我想基于Integer参数实现细粒度锁定;如果线程A需要修改由Integer a 标识的资源,并且线程B对由Integer b 标识的资源执行相同操作,然后他们不需要同步。但是,如果有两个线程使用相同的资源,假设线程C也使用由Integer a 标识的资源,那么当然线程A和C需要同步相同的锁定。 当没有更多的线程需要ID为X的资源时,可以删除Map中的L
..
我只想控制Java(groovy)应用程序中所有线程的堆栈大小。对于Hotspot Oracle VM,我知道有两个参数可以做到这一点( -Xss 和 Java HotSpot VM选项
..
我正在通过JNI使用C ++库开发一个成像处理Java 7u80应用程序。 因为我愿意并行执行流程”,我刚刚切换到JDK 8并重新启动了所有单元测试。 Java 8u60总持续时间:** 35'408 [ms] ** Java 7u80总持续时间:** 29'581 [ms] ** Java 7在我的情况下比Java 8快17%(相同的代码,代码级别分别为7和8)。
..
我的理解: 与Swing中的大多数组件/操作不同,对JComponent.repaint()的调用是线程安全的,即重绘请求是从另一个线程发出的(即不是来自EDT),实际绘画仅在EDT中进行。下面的代码片段演示了这一点。 public class PaintingDemo { public static void main(String [] args){ final JFra
..
我已编写代码来了解CyclicBarrier。 我的应用程序模仿选举。每轮选择小投票的候选人,这个候选人从比赛中取消胜利。 来源: class ElectoralCommission { public volatile boolean hasWinner; public volatile字符串获胜者; private List候选人; priva
..
我编写了一个计时器,用于衡量任何多线程应用程序中特定代码的性能。在下面的计时器中,它还将填充地图,其中有多少次调用需要x毫秒。我将使用这张地图作为直方图的一部分进行进一步的分析,例如调用百分比的话,等等。 public static class StopWatch { public static ConcurrentHashMap histogram = ne
..
我正在阅读有关处理Java中Out of Memory错误情况的文章(以及JBoss平台)我看到了这个减少threadstack大小的建议。 在最大内存错误情况下,如何减小threadstack的大小? 解决方案 当Java创建一个新线程时,它会为该线程的堆栈预先分配一个固定大小的内存块。通过减小内存块的大小,可以避免内存不足,特别是如果你有很多线程 - 节省内存是减少堆栈大小乘以线
..
Java中是否有任何监听器可以处理某些线程已经结束? 这样的事情: Future test = workerPool.submit(new TestCalalble()); test.addActionListener(new ActionListener() { public void actionEnd(ActionEvent e) { txt1.set
..
我有一个链接阻塞队列,我在其中执行插入和删除操作。 我需要知道哪一个更好 put 或 offer 。 性能参数是CPU利用率,内存和整体吞吐量。 应用程序使用是实时系统,其中可以有多个传入请求和更少的线程来处理我们需要在队列中插入元素的位置。 我阅读了Java文档的put和offer,内部应用程序没有太大区别。 解决方案 实际上,你无法比较这两者之间的表现,报价方法
..
在C#中它非常简单: class Class1 { private static readonly object locker = new object() ; void Method1(){ lock(locker){....} } } 我绝对不应该在这个上进行同步,因为它可能会导致死锁。同样,在Scala中我看到了一些示例,无法了解同步和对象(字段)的基本
..
在Java中它通过接受一个实现runnable的对象来工作: Thread myThread = new Thread(new myRunnable()) 其中 myRunnable 是一个实现可运行。 但是当我在Kotlin尝试这个时,它似乎不起作用: var myThread:Thread = myRunnable:Runnable
..
我理解read-acquire(不会重新排序后续的读/写操作)和write-release(不重新排序前面的读/写操作)。 我的q是: - 如果是read-acquire,它之前的写操作是否会被刷新? 如果是写入释放,先前的读取是否会更新? 此外,是读取 - 获取与volatile中的volatile读取和写入释放相同吗? 为什么这很重要,让我们来看看写入释放的情况..
..
Java 1.4 doc for javax.xml.parsers.DocumentBuilderFactory 毫无疑问地说明: 不保证DocumentBuilderFactory类的实现是线程安全的。用户应用程序要确保从多个线程中使用DocumentBuilderFactory。或者,应用程序可以为每个线程提供一个DocumentBuilderFactory实例。应用程序可以使用工厂的
..
我有以下代码: renderThread = new Thread(new Runnable(){ @Override public void run(){ for(int i = 0; i
..
我正在尝试使用一些字符串创建一个非常简单的回调。 IDE的代码意义是对特殊的未经检查的调用抱怨。任何人都可以给我一个解决方案吗?最后的想法是包装网络呼叫,以便返回承诺的结果,我可以根据需要添加其他功能。 import java.util.concurrent。*; import java.util.function.BiConsumer; import java.util.func
..