最近编写了一个关于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. }
北京北大青鸟
北大青鸟网络工程师
北大青鸟aptech
北大青鸟北京
北大青鸟 北京
北大青鸟北京总部
北大青鸟总部
Copyright © 2002-2015 版权所有 学校地址:北京市海淀区西三旗建材城中路29号北大青鸟 招生热线:010-82011433/32 京公网安备110102004704 京ICP备05043413号 京公网安备110102004704 |