
java中为什么要用多线程
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。当多个线程同时读写同一份共享资源的时候,可能会引起冲突。...
2024-01-10
我的java线程占用多少内存?
有没有办法找出我的Java线程在虚拟机中占用多少内存?例如,使用堆栈跟踪转储或其他某种方式。回答:Java线程将堆用作共享内存。各个线程都有其堆栈(您可以通过-Xss命令行选项设置其大小,默认为512KB),但是所有其他内存(堆)都不属于特定线程,并询问一个特定线程仅使用了多少内存没有...
2024-01-10
Java多线程与安全发布
在阅读了“ 实践中的Java并发 ”和“ 实践OSGI ”之后,我发现了一个非常有趣的特定主题。安全发布。以下是来自JCIP的内容:为了安全地发布对象,必须同时使对该对象的引用和该对象的状态对其他线程可见。可以通过以下方式安全地发布正确构造的对象:从静态初始化程序初始化对象引用。将对...
2024-01-10
Java中的线程安全多态
鉴于以下多态:public class Multiton { private static final Multiton[] instances = new Multiton[...]; private Multiton(...) { //... } public static Multiton getInstance(int which) { if(instances[which] == null) { ...
2024-01-10
Java线程等待值
我有以下情况:Java线程等待值为了运行一个算法,我必须运行多个线程和每个线程都设置一个实例变量x,它死前。问题是这些线程不会立即返回:public Foo myAlgorithm() { //create n Runnables (n is big) //start these runnables (may take long time do die) //i need the x value of each runnable here, but they havent finis...
2024-01-10
Java从线程返回值
我有一个方法HandlerThread。值在内部被更改Thread,我想将其返回给该test()方法。有没有办法做到这一点?public void test(){ Thread uiThread = new HandlerThread("UIHandler"){ public synchronized void run(){ int value; value = 2; //To be returned to test() ...
2024-01-10
Java中要运行多少个线程?
我有一个绝妙的主意,可以加快生成36个文件所需的时间:使用36个线程!不幸的是,如果我j2ssh使用36个线程/会话启动一个连接(一个连接对象),那么与每次执行每个线程相比,所有事情的滞后性更大。现在,如果我尝试创建36个新连接(36个j2ssh连接对象),则每个线程都有一个单独的服务器连接,...
2024-01-10
Java如何创建主线程
我是Java技术的新手。我知道Thread在Java中只有两种创建方式扩展线程类实施可运行接口因此,这只是两种创建方法Thread。但是,当我们使用主JVM启动程序时,它启动了一个mainThread。我认为甚至JVM也必须遵循创建主要Thread方法的规则,以创建主线程JVM必须扩展Thread类或实现Runnable。public class MainThreadEx...
2024-01-10
Java事件调度线程说明
我最近开始学习和探索Java中GUI编程的基础知识。经过一段时间的编程,我只完成了后端工作或其他工作,因此,我最接近用户界面的是命令控制台(令人尴尬的是,我知道)。我正在使用Swing,据我所知,通过扩展,我也正在使用AWT。我的问题基于以下代码:java.awt.EventQueue.invokeLater(new Runnable() { p...
2024-01-10
Java-创建一个新线程
我是线程新手。我想创建一些与主线程分开工作的简单函数。但这似乎不起作用。我只想创建一个新线程,并在那里独立于主线程发生的事情做一些事情。这段代码看起来很怪异,但到目前为止,我对线程的了解还很少。你能解释一下这是怎么回事吗? public static void main(String args[]){ test z=new test();...
2024-01-10
Java 如何等待多个线程完成?
有什么方法可以简单地等待所有线程处理完成?例如,假设我有:public class DoSomethingInAThread implements Runnable{ public static void main(String[] args) { for (int n=0; n<1000; n++) { Thread t = new Thread(new DoSomethingInAThread()); t.start(); }...
2024-01-10
如何杀死Java中的线程?
如何杀死Java中的线程?回答:一般不建议使用 Thread.stop() 可以使用共享变量作为标志,要求后台线程停止。然后可以由另一个请求线程终止的对象来设置此变量。...
2024-01-10
Java中静态块的线程安全
假设我有一些Java代码:public class SomeClass { static { private final double PI = 3.14; private final double SOME_CONSTANT = 5.76; private final double SOME_OTHER_CONSTANT = 756.33; } //rest of class}如果一个线程正在初始化SomeClass的Class对象,并且在第二个线程...
2024-01-10
Java VM可以支持多少个线程?
Java VM可以支持多少个线程?这会因供应商而异吗?通过操作系统?其他因素?回答:这取决于您正在使用的CPU,操作系统,其他正在执行的操作,您正在使用的Java版本以及其他因素。我已经看到Windows服务器在关闭计算机之前具有> 6500个线程。当然,大多数线程没有做任何事情。一旦计算机遇到了大...
2024-01-10
Bash中的多线程
我想在我的shell脚本中引入多线程功能。我有一个脚本,read_cfg()使用不同的参数调用该函数。这些函数调用中的每一个都是独立的。可以并行实例化这些函数调用(而不是脚本)。请让我如何实现这一目标。回答:当然,只需&在命令后添加:read_cfg cfgA &read_cfg cfgB &read_cfg cfgC &wait所有这些作业将...
2024-01-10
如何在Java中杀死线程?
如何java.lang.Thread用Java 杀死A ?回答:有关他们为何不赞成使用Sun的内容,Thread.stop()请参见此主题。它详细介绍了为什么这是一种不好的方法,以及通常应该采取什么措施才能安全地停止线程。他们建议的方式是使用共享变量作为标志,要求后台线程停止。然后可以由另一个请求线程终止的对象来设...
2024-01-10
Java 多线程快速排序或合并排序
如何为Java实现并发的quicksort或mergesort算法?我们在16(虚拟)核的Mac上遇到问题,其中只有一个核(!)使用默认的Java排序算法工作,而且很好的机器没有得到充分利用是不好的。因此,我们编写了自己的代码(我编写了代码),并且确实取得了不错的提速(我编写了多线程快速排序,由于其分区特...
2024-01-10
Java线程完成后是否被删除
假设我使用下面的方法每隔几秒钟生成一个线程,并且每个线程大约需要一秒钟才能完成。完成的线程会被删除吗?new Thread (new myRunnableClass()).start();回答:线程完成后立即释放本机OS级线程(完成时大约释放run()),但是线程对象像其他任何对象一样存活,直到无法访问并且垃圾回收器感觉像在运行...
2024-01-10
如何优雅地停止Java线程?
我写了一个线程,它花费太多时间执行,而且似乎还没有完全完成。我想优雅地停止线程。有什么帮助吗?回答:做到这一点的好方法是让run()一个线程保护一个Thread的boolean变量,并true在你要停止它的时候将其设置为外部变量,例如:`class MyThread extends Thread{ volatile boolean finished = false;public void stopM...
2024-01-10
如何将参数传递给Java线程?
谁能建议我如何将参数传递给线程?另外,它如何用于匿名类?回答:你需要将构造函数中的参数传递给Runnable对象:public class MyRunnable implements Runnable { public MyRunnable(Object parameter) { // store parameter for later user } public void run() { }}然后调用它:Runnable r = new MyRunnable(param_val...
2024-01-10
Java中的线程安全循环缓冲区
考虑几个并行运行的Web服务器实例。每个服务器都有对单个共享“状态保持器”的引用,该角色的作用是保留N来自所有服务器的最新请求。例如(N=3):Server a: "Request id = ABCD" Status keeper=["ABCD"]Server b: "Request id = XYZZ" Status keeper=["ABCD", "XYZZ"] Server c: "Request id = 1234" Status keeper=["ABCD...
2024-01-10
如何实现真正的异步Java线程
我有一个需要执行两项操作的功能,一项功能完成得很快,而一项则需要很长时间才能运行。我希望能够将长时间运行的操作委派给线程,并且我不在乎线程何时完成,但是线程需要完成。我实现了如下所示的方法,但是由于函数在start()调用后退出,因此我的第二个操作从未完成。如何确保函数返...
2024-01-10
什么时候/为什么要在Java中使用多线程?
我不知道何时应该在Java开发中使用多线程,以及使用它的逻辑/原因。在不同情况下如何提供帮助?场景1我正在制作带有敌人和所有元素的2D滚动游戏,想想金属弹头方案2我正在制作一个数据库守护程序来检查多个数据库内容。情况3我正在为JSP创建servlet,并从数据库中获取了一些信息。随时编辑...
2024-01-10
在多个Java线程之间共享数据并获取更新的值
我想创建一个Java应用程序,在这里我们要借助访问令牌对多个用户进行rest调用。我正在为每个用户使用1个线程。我正在使用的访问令牌有效期为1个小时。一旦令牌过期,我将收到401错误,并且必须为所有线程更新令牌,然后继续。我正在考虑使用我已将其设为静态的volatile变量来更新所有线程。我的...
2024-01-10
java游戏盒子,还能比盒子做得更多
盒子游戏各自有各自的特点,以下是几种游戏盒子的介绍:1、【360游戏盒子】360游戏盒子是360公司官方最新推出的一个提供单机游戏、网络游戏、网页游戏、在线小游戏、棋牌竞技游戏等游戏客户端。三、游窝游戏盒子游窝游戏盒子游窝游戏盒子是目前最新最好的桌面游戏宝库,电脑上的全能游戏机...
2024-01-10
