分页: 1 / 1

Ubuntu不支持java多线程????

发表于 : 2007-03-05 16:15
zhuguangxiang
Ubuntu不支持java多线程????
今天试了一下java的多线程,发现ubuntu下好像不支持。晕了!!!

发表于 : 2007-03-06 15:53
flyer_mr
linux下没有线程的概念吧?
都是以进程的形式表示吧,在linux下是进程

发表于 : 2007-03-07 13:27
猛将兄
瞎扯,不知道你怎么测试的,我用java写高性能服务器的(不是J2EE),没有多线程我还搞什么

发表于 : 2007-03-08 2:42
ggjjzhzz
呵呵,如果不支持多线程,SUN公司一定会起诉Ubuntu开发者的。没有多线程,J2EE还能干什么?

发表于 : 2007-03-08 19:08
zhuguangxiang
理论上当然支持多线程了。
但是我的机器上,没有看出来。呵呵。
我的cup是pentium -m 华硕笔记本。

发表于 : 2007-03-08 19:14
zhuguangxiang
比如:最简单的测试:
public class ThreadTest {
public static void main(String[] arg) {

Thread t = new Thread(new MyThread());

t.start();

for(int i = 0; i<100;i++)
System.out.println("Main thread :" +i);


}

}

class MyThread implements Runnable{

public void run() {

for(int i = 0; i<100;i++)
System.out.println("MyThread:" +i);

}

}
打印结果是:
Main Thread 0
......
Main Threa 99


MyThread 0
......
MyThread 99

发表于 : 2007-03-13 20:55
Sliphades
支持的!原因是JVM的问题,在不同平台上表现效果不同!
你可以这样~就您哪个例子
把 for(int i = 0; i<100;i++)
100-->1000
就可以看出!两个线程还是会交换出现的~

代码: 全选

Main thread :996
Main thread :997
Main thread :998
Main thread :999
MyThread:739
MyThread:740
MyThread:741
MyThread:742
MyThread:743
前些天自己为了定时关机,自己了个定时器。就是用多线程的!

发表于 : 2007-03-15 17:45
猛将兄
zhuguangxiang 写了:比如:最简单的测试:
public class ThreadTest {
public static void main(String[] arg) {

Thread t = new Thread(new MyThread());

t.start();

for(int i = 0; i<100;i++)
System.out.println("Main thread :" +i);


}

}

class MyThread implements Runnable{

public void run() {

for(int i = 0; i<100;i++)
System.out.println("MyThread:" +i);

}

}
打印结果是:
Main Thread 0
......
Main Threa 99


MyThread 0
......
MyThread 99
这个就是相当地搞笑了,两个线程测试多线程?怎么着你也弄100个线程
从这一点看出,实际上是主线程运行过快导致的。context switch所需要的间隔还没有到主线程就done了
你弄上1000个线程试试看
另外,你这么测试,根本没搞清楚线程的意思,你知道线程和进程的区别,线程的N种实现和Sun对线程的实现么?
如果你知道这些,你就不会写这个程序来测试了
另外,你的Swing能运行么?一个Swing起来,就是一堆线程在跑,建议仔细研究Swing的代码