当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu不支持java多线程????
帖子发表于 : 2007-03-05 16:15 

注册: 2006-03-29 16:55
帖子: 52
送出感谢: 0 次
接收感谢: 0 次
Ubuntu不支持java多线程????
今天试了一下java的多线程,发现ubuntu下好像不支持。晕了!!!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-03-06 15:53 

注册: 2007-03-01 14:31
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
linux下没有线程的概念吧?
都是以进程的形式表示吧,在linux下是进程


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-03-07 13:27 
头像

注册: 2005-10-19 17:33
帖子: 2052
送出感谢: 0 次
接收感谢: 0 次
瞎扯,不知道你怎么测试的,我用java写高性能服务器的(不是J2EE),没有多线程我还搞什么


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-03-08 2:42 
头像

注册: 2006-12-21 9:46
帖子: 137
送出感谢: 0 次
接收感谢: 0 次
呵呵,如果不支持多线程,SUN公司一定会起诉Ubuntu开发者的。没有多线程,J2EE还能干什么?


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-03-08 19:08 

注册: 2006-03-29 16:55
帖子: 52
送出感谢: 0 次
接收感谢: 0 次
理论上当然支持多线程了。
但是我的机器上,没有看出来。呵呵。
我的cup是pentium -m 华硕笔记本。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-03-08 19:14 

注册: 2006-03-29 16:55
帖子: 52
送出感谢: 0 次
接收感谢: 0 次
比如:最简单的测试:
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


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-03-13 20:55 

注册: 2007-02-03 6:25
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
支持的!原因是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


前些天自己为了定时关机,自己了个定时器。就是用多线程的!


附件:
文件注释: Mysoftware
4.png
4.png [ 8.94 KiB | 被浏览 1371 次 ]
页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-03-15 17:45 
头像

注册: 2005-10-19 17:33
帖子: 2052
送出感谢: 0 次
接收感谢: 0 次
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的代码


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译