论坛首页 Java企业应用论坛

关于java多线程一些心得

浏览 14211 次
精华帖 (2) :: 良好帖 (1) :: 新手帖 (19) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-05-19  
1、主线程死掉之后 ,所有在主线程上启动的线程并不会死掉
2、通过把线程加入ThreadGroup可以操作其他同组线程的生命
3、如果想在子线程中杀掉主线程,直接把主线程的Thread的传入子线程即可
4、要想关闭多线程程序,需要把当前所有的线程全部杀死才能关闭
5、各个线程互补影响~父子线程也不会有影响
   发表时间:2010-05-19  
千言万语汇总就那么几句话

When a Java Virtual Machine starts up, there is usually a single non-daemon thread (which typically calls the method named main of some designated class). The Java Virtual Machine continues to execute threads until either of the following occurs:

    * The exit method of class Runtime has been called and the security manager has permitted the exit operation to take place.
    * All threads that are not daemon threads have died, either by returning from the call to the run method or by throwing an exception that propagates beyond the run method.
0 请登录后投票
   发表时间:2010-05-20  
唉 我太落后了 几年了 很少写多线程方面的程序
0 请登录后投票
   发表时间:2010-05-20  
楼主没有听说过守护线程吗?
0 请登录后投票
   发表时间:2010-05-20  
知道守护线程呀......
0 请登录后投票
   发表时间:2010-05-20  
线程到底有啥用啊,不就是同时执行多个任务么,不就是CPU分配时间片一会儿执行这个,一会儿执行那个,跟先把这个执行完,再执行那个有什么区别啊,谁能说下呢
0 请登录后投票
   发表时间:2010-05-20  
呵呵 有些程序是需要同时处理多个通道的....
c++一般采用多进程的方式~~直接fork
java的fork的话 会启动多个虚拟机进行执行~~所有采用多线程
多成成好像CPU利用率上面更好一些~~具体的就忘掉了
0 请登录后投票
   发表时间:2010-05-20  
lirong1978 写道
线程到底有啥用啊,不就是同时执行多个任务么,不就是CPU分配时间片一会儿执行这个,一会儿执行那个,跟先把这个执行完,再执行那个有什么区别啊,谁能说下呢

因为并不是所有的线程都能很好的利用CPU,有可能有些操作会阻塞,如果顺序执行的话,那那个阻塞的方法岂不是拦着别的方法的执行,如果多线程的话,那个阻塞的方法只塞他自己的线程,别的线程照样跑。
经典的运用就是ServerSocket.accept(),一个线程一直等别人连接,另外可以起一些线程去处理连接到的socket,如果不用多线程,怎么处理的了?除非转换观念用NIO。
0 请登录后投票
   发表时间:2010-05-20  
lirong1978 写道
线程到底有啥用啊,不就是同时执行多个任务么,不就是CPU分配时间片一会儿执行这个,一会儿执行那个,跟先把这个执行完,再执行那个有什么区别啊,谁能说下呢



你说的是并发,利用的单CPU轮询。现代意义的多线程是并行的,利用多CPU处理器,同时工作。
0 请登录后投票
   发表时间:2010-05-20  
dyllove98 写道
呵呵 有些程序是需要同时处理多个通道的....
c++一般采用多进程的方式~~直接fork
java的fork的话 会启动多个虚拟机进行执行~~所有采用多线程
多成成好像CPU利用率上面更好一些~~具体的就忘掉了


JDK1.2 之前采用所谓的Green Thread,不完全依赖于OS的线程调度。

后面的版本就不同了,直接利用OS或者是CPU线程调度,值得一提的是,Java线程和OS线程的映射比率是M:N(可能一对一,当M=N时)。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics