Tag:

Java中的线程内的线程?

我目前正在考虑如何在Java中设计一个需要进行大量网络处理和数据库存储的multithreading系统。 该程序将首先启动三个基本线程。 沿着这些基本线程,我想启动其他线程不是来自主程序,而是来自两个线程。 是否有可能线程启动另一个线程,导致某种层次结构,如: > Parent ->t0 thread1 -> t1 tread1.1 > ->t0 thread2 > ->t0 thread3 -> t2 thread3.1 t0= inital time t1,t2 = time at a point in the running thread t1 != t2 如果没有,有人可以提供参考的理论解决方案吗?

我们可以访问或查询Java String intern(常量)池吗?

有没有办法在我们自己的程序中访问String常量池的内容? 假设我有一些基本代码可以做到这一点: String str1 = “foo”; String str2 = “bar”; 现在我们的String常量池中有两个字符串浮动。 有没有办法访问池并打印出上述值或获取池中当前包含的当前元素总数? 即 StringConstantPool pool = new StringConstantPool(); System.out.println(pool.getSize()); // etc

如何创建对象池以便能够借用和返回对象

我想知道,是否可以创建一个对象池? 所以我可以从池中取出一个对象,一旦我完成了工作,我就可以将它放入池中。

JAVAFX:为什么等待游标需要一个新线程?

我明白为什么 scene.setCursor(Cursor.WAIT); long task… scene.setCursor(Cursor.DEFAULT); 需要新线程; 它适用于: private void set_cursore_attesa(final Scene scene) { Runnable r=new Runnable() { @Override public void run() { scene.setCursor(Cursor.WAIT); } }; Thread t=new Thread(r); t.start(); } private void set_cursore_normale(final Scene scene) { Runnable r=new Runnable() { @Override public void run() { scene.setCursor(Cursor.DEFAULT); } }; Thread t=new Thread(r); t.start(); } in my […]

在Java中运行基于cpu的简单程序的最佳线程池大小是多少

我使用线程池来执行任务,这些任务主要是基于cpu的I / O,大小比cpus的数量大1。 Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1) 假设简单程序将其所有任务提交给此执行程序并且几乎没有其他情况我假设拥有一个更大的线程池会减慢速度,因为操作系统必须将它更频繁地cpus,因为它更经常有机会给线程池中的每个线程一个机会跑。 这是正确的,如果这是一个真正的问题或主要是理论上的,即如果我将线程池大小增加到1000我会注意到一个巨大的差异。

游泳池什么时候改变?

我有两个问题: public static void main(String[] args) { String s1 = “bla”; String s2 = “b” +”l” + “a”; String s3 = “b”.concat(“l”).concat(“a”); if(s1 == s2) System.out.println(“Equal”); else System.out.println(“Not equal”); if(s1 == s3) System.out.println(“Equal”); else System.out.println(“Not equal”); } 为什么s1和s2指向同一个对象,而s1和s3不指向? ( 没有使用new关键字 )。 如果我从用户那里得到一个字符串并将以下代码添加到上面的代码中: BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); String name=in.readLine(); if(name.equals(“test”)) s1 = s1 + “xyz”; 如果用户输入xyz […]