分页: 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的代码