multithreading相关内容

领域从错误的线程Android访问

我在Android上处理此问题: 从不正确的线程访问Realm。 Realm对象只能在它们创建的线程上访问。 我想在我的RemoteViewsFactory中使用Realm 公共类RemoteViewsX实现RemoteViewsFactory { public RemoteViews getViewAt(int paramInt){ if(this.results!= ..
发布时间:2019-01-02 14:20:29 Java开发

为什么Volatile表现得很奇怪

我最近遇到过volatile关键字这种奇怪的行为。据我所知, 对变量应用volatile关键字以反映对$ b数据所做的更改$ b将一个线程的变量放到另一个线程上。 volatile关键字阻止在线程上缓存数据。 我做了一个小测试........ 我使用了一个名为count的整数变量,并使用了volatile关键字。 然后做了两个不同的线程来将变量值增加到10000,所以 ..
发布时间:2019-01-02 14:20:09 Java开发

运行外部进程的非阻塞线程

我创建了一个Java GUI应用程序,它充当许多低级外部进程的包装器。该实用程序按原样工作,但迫切需要一个重大改进。 我希望我的外部进程以非阻塞方式运行,这将允许我提供额外服务请求并行。简而言之,我希望能够在生成数据时处理来自外部流程的数据。但似乎我检查并查看外部进程是否仍在运行的基本尝试是阻塞。 以下是我的ExternalProcess类的摘录。有关线程和阻塞的特定Java功能问题, ..
发布时间:2019-01-02 14:13:02 Java开发

在Tomcat下启动线程

有人告诉我你不应该从在Tomcat下运行的webapp(或任何其他容器,大概是)开始自己的线程 Runnable myRunnable = new Runnable(){ public void run(){ System.out.println(“我正在运行”); } } 新线程(myRunnable).start(); 或类似地: Schedu ..
发布时间:2019-01-02 14:11:57 Java开发

同时调用singleton对象的Java方法

我有一个关于Java中多线程方法调用的问题。假设我们有一个单例对象,其类声明如下: public class SomeClass { public void someMethod (SomeValueObject对象){ if(object.condition1){ ... } if(object.condition2){ ... } if(object.condi ..
发布时间:2019-01-02 13:52:59 Java开发

迭代WeakHashMap

我正在同时使用WeakHashMap。我想基于Integer参数实现细粒度锁定;如果线程A需要修改由Integer a 标识的资源,并且线程B对由Integer b 标识的资源执行相同操作,然后他们不需要同步。但是,如果有两个线程使用相同的资源,假设线程C也使用由Integer a 标识的资源,那么当然线程A和C需要同步相同的锁定。 当没有更多的线程需要ID为X的资源时,可以删除Map中的L ..
发布时间:2019-01-02 13:49:30 Java开发

Java 8性能VS. Java 7

我正在通过JNI使用C ++库开发一个成像处理Java 7u80应用程序。 因为我愿意并行执行流程”,我刚刚切换到JDK 8并重新启动了所有单元测试。 Java 8u60总持续时间:** 35'408 [ms] ** Java 7u80总持续时间:** 29'581 [ms] ** Java 7在我的情况下比Java 8快17%(相同的代码,代码级别分别为7和8)。 ..
发布时间:2019-01-02 13:41:52 Java开发

JComponent.paintImmediately()如何在Java Swing中工作?

我的理解: 与Swing中的大多数组件/操作不同,对JComponent.repaint()的调用是线程安全的,即重绘请求是从另一个线程发出的(即不是来自EDT),实际绘画​​仅在EDT中进行。下面的代码片段演示了这一点。 public class PaintingDemo { public static void main(String [] args){ final JFra ..
发布时间:2019-01-02 13:41:22 Java开发

从直方图中计算平均值和百分位数?

我编写了一个计时器,用于衡量任何多线程应用程序中特定代码的性能。在下面的计时器中,它还将填充地图,其中有多少次调用需要x毫秒。我将使用这张地图作为直方图的一部分进行进一步的分析,例如调用百分比的话,等等。 public static class StopWatch { public static ConcurrentHashMap histogram = ne ..
发布时间:2019-01-02 11:28:42 Java开发

为什么要减小Java JVM线程堆栈的大小?

我正在阅读有关处理Java中Out of Memory错误情况的文章(以及JBoss平台)我看到了这个减少threadstack大小的建议。 在最大内存错误情况下,如何减小threadstack的大小? 解决方案 当Java创建一个新线程时,它会为该线程的堆栈预先分配一个固定大小的内存块。通过减小内存块的大小,可以避免内存不足,特别是如果你有很多线程 - 节省内存是减少堆栈大小乘以线 ..
发布时间:2019-01-02 11:27:36 Java开发

线程结束监听器。 Java的

Java中是否有任何监听器可以处理某些线程已经结束? 这样的事情: Future test = workerPool.submit(new TestCalalble()); test.addActionListener(new ActionListener() { public void actionEnd(ActionEvent e) { txt1.set ..
发布时间:2019-01-02 11:26:53 Java开发

LinkedBlockingQueue put vs offer

我有一个链接阻塞队列,我在其中执行插入和删除操作。 我需要知道哪一个更好 put 或 offer 。 性能参数是CPU利用率,内存和整体吞吐量。 应用程序使用是实时系统,其中可以有多个传入请求和更少的线程来处理我们需要在队列中插入元素的位置。 我阅读了Java文档的put和offer,内部应用程序没有太大区别。 解决方案 实际上,你无法比较这两者之间的表现,报价方法 ..
发布时间:2019-01-02 11:22:34 Java开发

我在Scala中同步什么对象?

在C#中它非常简单: class Class1 { private static readonly object locker = new object() ; void Method1(){ lock(locker){....} } } 我绝对不应该在这个上进行同步,因为它可能会导致死锁。同样,在Scala中我看到了一些示例,无法了解同步和对象(字段)的基本 ..
发布时间:2019-01-02 11:18:41 Java开发

如何在Kotlin中初始化一个线程?

在Java中它通过接受一个实现runnable的对象来工作: Thread myThread = new Thread(new myRunnable()) 其中 myRunnable 是一个实现可运行。 但是当我在Kotlin尝试这个时,它似乎不起作用: var myThread:Thread = myRunnable:Runnable ..
发布时间:2019-01-02 11:17:22 Java开发

Java volatile是否读取刷新写入,并执行易失性写入更新读取

我理解read-acquire(不会重新排序后续的读/写操作)和write-release(不重新排序前面的读/写操作)。 我的q是: - 如果是read-acquire,它之前的写操作是否会被刷新? 如果是写入释放,先前的读取是否会更新? 此外,是读取 - 获取与volatile中的volatile读取和写入释放相同吗? 为什么这很重要,让我们来看看写入释放的情况.. ..
发布时间:2019-01-02 11:13:26 Java开发

JavaBu+中的DocumentBuilderFactory是否是线程安全的?

Java 1.4 doc for javax.xml.parsers.DocumentBuilderFactory 毫无疑问地说明: 不保证DocumentBuilderFactory类的实现是线程安全的。用户应用程序要确保从多个线程中使用DocumentBuilderFactory。或者,应用程序可以为每个线程提供一个DocumentBuilderFactory实例。应用程序可以使用工厂的 ..
发布时间:2019-01-02 11:09:59 Java开发

使用CompletableFuture进行回调

我正在尝试使用一些字符串创建一个非常简单的回调。 IDE的代码意义是对特殊的未经检查的调用抱怨。任何人都可以给我一个解决方案吗?最后的想法是包装网络呼叫,以便返回承诺的结果,我可以根据需要添加其他功能。 import java.util.concurrent。*; import java.util.function.BiConsumer; import java.util.func ..
发布时间:2019-01-02 10:57:09 Java开发