疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

java多线程小结


 

 以下资料为java培训机构为大家整理发布:  

1./*进程:是一个正在执行的程序,

  2. * 每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。

  3. *

  4. *线程:就是进程中的一个独立的控制单元

  5. * 线程在控制着进程的执行

  6. *一个进程中至少有一个线程

  7. *

  8. *Java VM 启动的时候会有一个进程java.exe

  9. *该进程至少有一个线程负责java程序的执行

  10. *而且这个线程运行的代码存在于main方法中

  11. *该线程称之为主线程

  12. *

  13. *扩展:其实更细节说明jvm,jvm启动不止一个线程,还有负责垃圾回收机制的线程

  14. *创建线程的第一种方式,继承Thread类

  15. *步骤:

  16. *1:定义类继承Thread

  17. *2.复写Thread类的run方法

  18. * 目的:将自定义的代码存储在run方法中,让线程运行

  19. *3.条用线程的start方法

  20. * 该方法两个作用,启动线程,调用run方法

  21. *

  22. *发现运行结果每一次都不同

  23. *因为多线程都获取cpu的执行权,cpu执行到谁,谁就运行

  24. *明确一点,在某一个时刻,只能有一个程序在运行。(多核除外)

  25. *cpu在做快速的切换,以达到看上去是同时运行的效果

  26. *我们可以形象把多线程的运行行为在互相抢夺cpu的执行权

  27.

  28.

  29. 多线程运行具有随机性的特点,谁先抢到,谁先执行,至于执行时间,cpu说了算*/

  30.

  31.class Demo extends Thread

  32.{

  33. public Demo(String name)

  34. {

  35. super(name);

  36. }

  37. public void run()

  38. {

  39. for(int i=0;i<60;i++)

  40. System.out.println(this.getName()+".."+Thread.currentThread()+" run ok---"+i);

  41.

  42. }

  43.}

  44.

  45.public class ThreadTest {

  46.

  47. public static void main(String[] args) {

  48.

  49. Demo demo=new Demo("one");

  50. demo.start();

  51. Demo demo1=new Demo("two");

  52. demo1.start();

  53.

  54. }

  55. }