当前位置:编程学习 > JAVA >>

【求助】怎么依次执行线程?

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。 --------------------编程问答-------------------- Semaphore信号量 --------------------编程问答--------------------
引用 楼主 niuniu_yanyan 的回复:
比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。 --------------------编程问答--------------------
引用 2 楼 beowulf2005 的回复:
Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了) --------------------编程问答--------------------
引用 3 楼 gd920129 的回复:
Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。
--------------------编程问答--------------------
引用 4 楼 beowulf2005 的回复:
Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。

的确我看错了,我承认,不过我没有任何讽刺你的意思
至于你后面说的那些,好的回复是:好的,听你的,我不学了,呵呵 --------------------编程问答-------------------- 用run直接执行就好了 --------------------编程问答-------------------- 那为什么要用多线程呢? --------------------编程问答--------------------
引用 7 楼 jdgdf566 的回复:
那为什么要用多线程呢?

同问~~~
这样一来,单线程就全部搞定了~ --------------------编程问答--------------------
引用 8 楼 D3_WN 的回复:
Quote: 引用 7 楼 jdgdf566 的回复:

那为什么要用多线程呢?

同问~~~
这样一来,单线程就全部搞定了~

楼主想问的意思可能是.....楼主可能不知道jion()。楼主需要的答案可能是:

A.start();
B.start();
A.jion();
B.jion();
--------------------编程问答-------------------- 单线程的东西就行。。。

如果一定要多线程,那么加sem。 --------------------编程问答-------------------- 多线程最大特点就是并发了,串行执行,就直接run()方法,不过这样就不属于多线程了,而是简单的成员方法调用。 --------------------编程问答-------------------- 使用线程池,设置corePoolSize 为1,能达到你的要求 --------------------编程问答--------------------
引用 4 楼 beowulf2005 的回复:
Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。





你好,我看了你的说明后,觉得你的回答不对,因为如果你调用run函数,在主函数里面不停的执行run函数,那么后面的代码就无法同时执行了,这就没有线程的意义了,你觉得了? --------------------编程问答--------------------
引用 13 楼 g414161696 的回复:
Quote: 引用 4 楼 beowulf2005 的回复:

Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。





你好,我看了你的说明后,觉得你的回答不对,因为如果你调用run函数,在主函数里面不停的执行run函数,那么后面的代码就无法同时执行了,这就没有线程的意义了,你觉得了?


Hi,
我同意你的看法,循环调用5次run,结果是一个线程都没有启动,总在主线程中运行。不论楼主的需求是否合理,楼上的答案不满足要求。
实现楼主的需求,其实方法挺多的,楼上的几位都提到了,这里推荐http://www.ibm.com/developerworks/cn/java/j-lo-concurrent-frmk/文章,给楼主一点思路。

那位回答问题的同学口气太大,不看相关书籍作为自己的垫脚石,就能够读懂并且理解源代码?读不懂源代码就判刑不用学习了?源代码的精髓可不是只懂得语法的人能够理解的。先学习怎么做,再想想为什么。基础书籍铺路,源码扩展阅读,达到事倍功半的效果,这样也是学习方法之一。当然如果像那位同学一样有慧根,那真心不用听我废话了。
--------------------编程问答--------------------
引用 13 楼 g414161696 的回复:
Quote: 引用 4 楼 beowulf2005 的回复:

Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。





你好,我看了你的说明后,觉得你的回答不对,因为如果你调用run函数,在主函数里面不停的执行run函数,那么后面的代码就无法同时执行了,这就没有线程的意义了,你觉得了?



楼主也没说调用者要跟另5个Thread并行。
即使楼主有这个需求,那也只需要另起一个线程,把for循环装进去即可。

麻烦你看看concurret 包里的源码好吗?

这个包提供如此丰富的作业调度机制,代码非常精妙,
可以看到作者从java代码层面深入考虑到CPU层面。
用来干楼主这么简单的需求,是不是杀鸡用牛刀,你自己判断。

concurret 包被这样滥用 Doug Lea 大概要哭了。

--------------------编程问答--------------------
引用 14 楼 taosheng2002 的回复:
Quote: 引用 13 楼 g414161696 的回复:

Quote: 引用 4 楼 beowulf2005 的回复:

Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。





你好,我看了你的说明后,觉得你的回答不对,因为如果你调用run函数,在主函数里面不停的执行run函数,那么后面的代码就无法同时执行了,这就没有线程的意义了,你觉得了?


Hi,
我同意你的看法,循环调用5次run,结果是一个线程都没有启动,总在主线程中运行。不论楼主的需求是否合理,楼上的答案不满足要求。
实现楼主的需求,其实方法挺多的,楼上的几位都提到了,这里推荐http://www.ibm.com/developerworks/cn/java/j-lo-concurrent-frmk/文章,给楼主一点思路。

那位回答问题的同学口气太大,不看相关书籍作为自己的垫脚石,就能够读懂并且理解源代码?读不懂源代码就判刑不用学习了?源代码的精髓可不是只懂得语法的人能够理解的。先学习怎么做,再想想为什么。基础书籍铺路,源码扩展阅读,达到事倍功半的效果,这样也是学习方法之一。当然如果像那位同学一样有慧根,那真心不用听我废话了。


不需要线程的地方去启动线程,你知道意味着什么?

年轻人,基础书籍跟Java一点关系也没用好吧。
想当年我也是买了一大堆所谓热门被很多人推荐的JAVA书,现在那些书还在我书架上,
每本书我倒是都看了,但每本书我最多只看了其中的5%。
看完的只有一本讲java语法的小册子,不到100页。

基础是什么?是操作系统,是计算机组成原理,是数据结构,是算法导论,是数学。
跟java一毛钱关系都没有。

看所谓java教材纯属浪费时间,翻译错误百出不说,
而且一点点简单的事情能翻来覆去讲半天,把读者当小白教,
外国教材作者有这个倾向,所以动不动一本书600多页,里面大多是废话。

基础扎实的话,看Doc,看源码学得绝对比看书快,不明白的地方动动手,有个项目做的话最好。
Lang Spec和VM Spec是终极解释,特别是VM Spec看完后绝对醍醐灌顶。

基础不扎实的话,去上大学。 --------------------编程问答--------------------
引用 16 楼 beowulf2005 的回复:
Quote: 引用 14 楼 taosheng2002 的回复:

Quote: 引用 13 楼 g414161696 的回复:

Quote: 引用 4 楼 beowulf2005 的回复:

Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。





你好,我看了你的说明后,觉得你的回答不对,因为如果你调用run函数,在主函数里面不停的执行run函数,那么后面的代码就无法同时执行了,这就没有线程的意义了,你觉得了?


Hi,
我同意你的看法,循环调用5次run,结果是一个线程都没有启动,总在主线程中运行。不论楼主的需求是否合理,楼上的答案不满足要求。
实现楼主的需求,其实方法挺多的,楼上的几位都提到了,这里推荐http://www.ibm.com/developerworks/cn/java/j-lo-concurrent-frmk/文章,给楼主一点思路。

那位回答问题的同学口气太大,不看相关书籍作为自己的垫脚石,就能够读懂并且理解源代码?读不懂源代码就判刑不用学习了?源代码的精髓可不是只懂得语法的人能够理解的。先学习怎么做,再想想为什么。基础书籍铺路,源码扩展阅读,达到事倍功半的效果,这样也是学习方法之一。当然如果像那位同学一样有慧根,那真心不用听我废话了。


不需要线程的地方去启动线程,你知道意味着什么?

年轻人,基础书籍跟Java一点关系也没用好吧。
想当年我也是买了一大堆所谓热门被很多人推荐的JAVA书,现在那些书还在我书架上,
每本书我倒是都看了,但每本书我最多只看了其中的5%。
看完的只有一本讲java语法的小册子,不到100页。

基础是什么?是操作系统,是计算机组成原理,是数据结构,是算法导论,是数学。
跟java一毛钱关系都没有。

看所谓java教材纯属浪费时间,翻译错误百出不说,
而且一点点简单的事情能翻来覆去讲半天,把读者当小白教,
外国教材作者有这个倾向,所以动不动一本书600多页,里面大多是废话。

基础扎实的话,看Doc,看源码学得绝对比看书快,不明白的地方动动手,有个项目做的话最好。
Lang Spec和VM Spec是终极解释,特别是VM Spec看完后绝对醍醐灌顶。

基础不扎实的话,去上大学。


感谢老先生回复我的帖子。出于对您的尊重,我认真的回复您。 --------------------编程问答-------------------- 1.弄个线程池,设上池大小为1,把5个线程放到线程池里执行去吧.
2.更简单的看代码

public SeqThread extends Thread{
public void run(){
  a.run();
  b.run();
  c.run();
  d.run();
  e.run();
}
}

--------------------编程问答--------------------
引用 16 楼 beowulf2005 的回复:
Quote: 引用 14 楼 taosheng2002 的回复:

Quote: 引用 13 楼 g414161696 的回复:

Quote: 引用 4 楼 beowulf2005 的回复:

Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。





你好,我看了你的说明后,觉得你的回答不对,因为如果你调用run函数,在主函数里面不停的执行run函数,那么后面的代码就无法同时执行了,这就没有线程的意义了,你觉得了?


Hi,
我同意你的看法,循环调用5次run,结果是一个线程都没有启动,总在主线程中运行。不论楼主的需求是否合理,楼上的答案不满足要求。
实现楼主的需求,其实方法挺多的,楼上的几位都提到了,这里推荐http://www.ibm.com/developerworks/cn/java/j-lo-concurrent-frmk/文章,给楼主一点思路。

那位回答问题的同学口气太大,不看相关书籍作为自己的垫脚石,就能够读懂并且理解源代码?读不懂源代码就判刑不用学习了?源代码的精髓可不是只懂得语法的人能够理解的。先学习怎么做,再想想为什么。基础书籍铺路,源码扩展阅读,达到事倍功半的效果,这样也是学习方法之一。当然如果像那位同学一样有慧根,那真心不用听我废话了。


不需要线程的地方去启动线程,你知道意味着什么?

年轻人,基础书籍跟Java一点关系也没用好吧。
想当年我也是买了一大堆所谓热门被很多人推荐的JAVA书,现在那些书还在我书架上,
每本书我倒是都看了,但每本书我最多只看了其中的5%。
看完的只有一本讲java语法的小册子,不到100页。

基础是什么?是操作系统,是计算机组成原理,是数据结构,是算法导论,是数学。
跟java一毛钱关系都没有。

看所谓java教材纯属浪费时间,翻译错误百出不说,
而且一点点简单的事情能翻来覆去讲半天,把读者当小白教,
外国教材作者有这个倾向,所以动不动一本书600多页,里面大多是废话。

基础扎实的话,看Doc,看源码学得绝对比看书快,不明白的地方动动手,有个项目做的话最好。
Lang Spec和VM Spec是终极解释,特别是VM Spec看完后绝对醍醐灌顶。

基础不扎实的话,去上大学。




这种讨论看起来真是受益匪浅 哈哈 对我这种新手来说 真的很好,谢谢! --------------------编程问答--------------------
引用 17 楼 taosheng2002 的回复:
Quote: 引用 16 楼 beowulf2005 的回复:

Quote: 引用 14 楼 taosheng2002 的回复:

Quote: 引用 13 楼 g414161696 的回复:

Quote: 引用 4 楼 beowulf2005 的回复:

Quote: 引用 3 楼 gd920129 的回复:

Quote: 引用 2 楼 beowulf2005 的回复:

Quote: 引用 楼主 niuniu_yanyan 的回复:

比如我有5个线程A,B,C,D,E 我想依次执行它们  A跑完才能跑B B跑完才轮到C ..

我特想知道concurrent这个包里是否有提供简便的方法去实现。。。


用得着这么麻烦吗?
直接

A.run();
B.run();
C.run();
D.run();
E.run();

不就好了?

再多点就加个循环。


for (Thread i:threads){
   i.run();
}


不要学会了锤子的用法,就看什么都像钉子。

看清楚楼主的意思,是依次执行,执行完一个再执行下一个
run方法不会阻塞,虽然是依次调用,但是不保证依次执行
使用信号量吧,google一下,或参考Core Java I 的最后一章(这章专门将线程,看完之后对线程的理解就差不多了)


看清楚点 run() 
不是 start()

只要这个run() 不扔异常出来,就是顺序执行的。而且楼主对异常处理也没提要求。

拜托你看一下Thead.java的源代码好吗?
不要自以为是。

顺便说一下,学java最好不要看教科书。
我几乎不看任何java教科书,看Java Docs,不明白的话看JDK 源码,
再不明白的话,看Java Lang Spec 和 VM Spec 
还不明白,好吧你不用学了。





你好,我看了你的说明后,觉得你的回答不对,因为如果你调用run函数,在主函数里面不停的执行run函数,那么后面的代码就无法同时执行了,这就没有线程的意义了,你觉得了?


Hi,
我同意你的看法,循环调用5次run,结果是一个线程都没有启动,总在主线程中运行。不论楼主的需求是否合理,楼上的答案不满足要求。
实现楼主的需求,其实方法挺多的,楼上的几位都提到了,这里推荐http://www.ibm.com/developerworks/cn/java/j-lo-concurrent-frmk/文章,给楼主一点思路。

那位回答问题的同学口气太大,不看相关书籍作为自己的垫脚石,就能够读懂并且理解源代码?读不懂源代码就判刑不用学习了?源代码的精髓可不是只懂得语法的人能够理解的。先学习怎么做,再想想为什么。基础书籍铺路,源码扩展阅读,达到事倍功半的效果,这样也是学习方法之一。当然如果像那位同学一样有慧根,那真心不用听我废话了。


不需要线程的地方去启动线程,你知道意味着什么?

年轻人,基础书籍跟Java一点关系也没用好吧。
想当年我也是买了一大堆所谓热门被很多人推荐的JAVA书,现在那些书还在我书架上,
每本书我倒是都看了,但每本书我最多只看了其中的5%。
看完的只有一本讲java语法的小册子,不到100页。

基础是什么?是操作系统,是计算机组成原理,是数据结构,是算法导论,是数学。
跟java一毛钱关系都没有。

看所谓java教材纯属浪费时间,翻译错误百出不说,
而且一点点简单的事情能翻来覆去讲半天,把读者当小白教,
外国教材作者有这个倾向,所以动不动一本书600多页,里面大多是废话。

基础扎实的话,看Doc,看源码学得绝对比看书快,不明白的地方动动手,有个项目做的话最好。
Lang Spec和VM Spec是终极解释,特别是VM Spec看完后绝对醍醐灌顶。

基础不扎实的话,去上大学。


感谢老先生回复我的帖子。出于对您的尊重,我认真的回复您。 --------------------编程问答-------------------- 看来这里还是有高手的。。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,