java-threads

    -1热度

    3回答

    使用线程我有这样的代码: public class classExample implements Observer Runnable { public classExample() { //... } @Override public void run() { while (true) { //wait for EV

    -1热度

    3回答

    我想在我的Java程序中使用两个线程来处理一小部分。我需要给数据库第一次调用和第二次调用API,两次调用具有相同的输入,然后使用任何先前完成的线程的输出。 这是我第一次用线程编程,我很困惑。我看过教程,他们主要解释如何用线程完成两件独立的事情,所以我有点迷路。 有人可以帮助或重新指引我到他们可能有的任何有用的链接? 到目前为止,据我了解,它应该看起来像这样吗? : Thread thread1 =

    0热度

    1回答

    我正在使用wait做一个关于Java并发的练习,并通知学习考试。 考试将被编写,所以代码必须是完美的,因为我们不能尝试编译和检查错误。 这是练习题的文本: 总体思路: 当下载器实例化队列和HashMap中创建并传递给所有的线程。 (共享数据) 下载方法将url添加到队列并调用notifyAll来唤醒Downloader线程。 getData方法会等待,直到所提供的url的哈希映射中有数据。当数据可

    0热度

    3回答

    这是我的代码和输出是不同的任何时候,我运行的代码。有时候,所有三个读者会得到通知,并输出结果是: 等待计算... 等待计算... 等待计算... 成品 总是:4950Thread-1 总是:4950Thread-2 总计为:4950Thread-0 有时候只有两个或一个读者会收到通知。 有什么问题? class Reader extends Thread { Calculator c;

    5热度

    2回答

    想象一下,我有3个等待条件的线程和一个带有通知条件的第4个线程。 现在,所有3个等待线程都运行并进入等待状态。一旦完成,第4个线程将运行并调用一次通知。 该通知将如何确定要唤醒哪个线程?是叫等待第一个线程的线程,最后一个叫等待的线程还是基于其他条件? 假设wait和notify使用相同的锁。

    0热度

    1回答

    我遇到以下问题。 我在一个永久循环的线程内部有一个Java函数,然后一个JNI API将最终调用另一个类中的静态函数。 此静态函数试图调用requestPermissions以显示请求权限弹出窗口,并且当用户接受或拒绝时,此线程将休眠。弹出窗口显示并且用户可以对此作出响应,但函数onRequestPermissionsResult永远不会被调用。 有什么办法可以对这个问题进行排序吗? 我在做什么错

    3热度

    1回答

    我已经复制了一个可疑的线程转储。我在调用java.net.SocketInputStream.socketRead0() 时看到IN_NATIVE状态的173个线程,在同一个调用中有30个线程处于BLOCKED状态。 我认为BLOCKED状态不会消耗CPU,但他们正在等待IO。 IN_NATIVE状态的线程怎么样?他们消耗CPU吗? 任何想法,为什么我看到相同的调用socketRead0()不同的

    0热度

    1回答

    我们都知道Core Dump是分析Unix中各种进程的基本诊断工具。我知道jstack和gcore都用于生成Javacore文件或Core Dump,但我怀疑Gcore主要用于进程,Jstack用于线程。 从操作系统的角度来看,虽然进程和线程相互关联(进程只包含线程),但它们在内存/速度/执行方面存在较大差异。那么gcore会诊断这个过程,jstack会分析这个过程中的线程吗?

    0热度

    3回答

    我对android应用程序开发相当新颖。我正在研究一个android应用程序来ping访问点以访问其RSSI值来估计用户的位置。 虽然我目前有这个'工作',但我相信在我的实现中有一个错误会创建太多的“onReceive()”调用。在应用程序的整个生命周期中,对这个函数的调用量都是线性的。 我将要发布的代码的目标是简单地扫描WiFi接入点,获取其RSSI值,然后不断循环。电池寿命不成问题,性能是一个

    0热度

    1回答

    在Android应用程序中的UI线程中,我需要运行一个可以花费纳秒或永远完成的方法。我想我不能确切地确定它何时需要永久​​使用,所以我通过一个单独的线程运行它。 ​​ 为了演示目的,我阻止了UI一秒,然后,如果方法尚未完成,我继续前进。 try{ Result result = futureResult.get(1, TimeUnit.SECONDS); //Use resul