A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 南无ice 中级黑马   /  2015-12-26 23:28  /  746 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这几天断了,一个是为了查看自己学的牢固不,再一个就是将前面的内容进行一个断了之后的回忆。今天继续开始学习。分享个第一天的笔记吧。都是WORD保存,还未传到博客。
多线程
概述:
进程: 是一个正在执行中的程序
     每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元
线程:  就是进程中的一个独立的控制单元。
                |——线程在控制着程序的执行。
一个进程中至少有一个线程。
Java  VM(虚拟机)  启动的时候会有一个进程Java.exe 。
该进程中至少有一个线程负责Java程序的执行。
该线程称为主线程。
扩展:其实更细节说明JVM,JVM启动不止一个线程,还有负责垃圾回收机制的线程。

1.如何在自定义的代码中,自定义一个线程呢?
  通过对API的查找,Java已经提供了对线程这类事物的描述。就是Thread类。
创建线程的第一种方式:继承Thread类。
操作步骤: 1.定义类继承Thread类
                 2.覆写Thread类中的run方法。
                  目的:将自定义代码存在run方法。让线程运行。
               3.调用线程start方法
                    该方法两个作用:启动线程,调用run方法。
代码: 图例  
解析:        发现运行结果每一次都不同。
因为多个线程都获取CPU的执行权。CPU执行到谁,谁就运行。
明确一点,在某一时刻,只可以有一个程序在运行(多核除外)
其实是CPU在做着快速的切换,已达到看上去同时运行的效果。
我们可以形象的把多线程的运行形容为在互相抢夺CPU的执行权。
这就是多线程的一个特性: 随机性 。
   |——谁抢到谁就执行,至于执行多长时间,CPU决定。

2:创建线程run()和start()的特点
Thread类用于描述线程。
该类就定义了一个功能,用于存储线程要执行的代码。该存储功能就是run方法。
也就是说Thread类中的run方法,用于存储线程要执行的代码。
重要面试经常问到:
d.start(); ——开启线程模式并执行该线程的run方法。
d.run();   ——仅仅是对对象的调用方法。而线程创建了,并没有运行。
线程的5种运行状态:


3:获取线程对象及线程名称
原来线程都有自己的默认的名称。
Thread – 编号 : 该编号从0开始。
static Thread currentThread():获取当前线程对象。
getName() :获取线程名称。

设置线程名称:setName或者构造函数。
部分图例代码都是图片这边不显示。

6 个回复

倒序浏览
加油,坚持笔记
回复 使用道具 举报
坚持记笔记是一个好习惯
回复 使用道具 举报
多做总结,加油!
回复 使用道具 举报
加油加油!~
回复 使用道具 举报
加油!!!!
回复 使用道具 举报
好笔记{:2_33:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马