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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a1ccwt 中级黑马   /  2015-8-22 09:31  /  312 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

进程:是一个正在执行中的程序
     每一个进程执行都有一个执行顺序,该顺序是一个执行路径或者叫一个控     制单元
线程:就是进程一个独立的控制单元,现成在控制着进程的执行(一个进程中      至少有一个线程)
java vm 启动的时候会有一个进程java.exe,该进程中至少一个线程负责java        程序的执行,而且这个线程运行的代码存在于main方法中。
        该线程称为主线程。(jvm启动不止一个线程,还有负责垃圾回收机制        的线程)
创建线程的步骤:(第一种方式继承Thread方法)
  1.定义类继承Thread
  2.复写Thread类中的run方法
  3.调用线程的start方法,该方法有两个作用:启动线程,调用方法(内存是     瓶颈)

线程运行的特性:随机性。

线程的几种状态:
    start 启动并调用
    sleep 停止一定的时间
    wait  等待(时间限制)
    notify 唤醒(notifyall全部唤醒)
    stop 结束

线程都有直接默认的名字 编号从0开始

currentThread 获取当前线程对象
getName 获取线程的名字

创建线程的第二种方法:
1.定义类实现Runnable接口
2.覆盖Runnable接口的run方法
3.通过Thread类建立线程对象
4.将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数
5.调用Thread类的start方法开启线程,并调用runnable接口子类的run方法

实现方式和继承方式的区别
实现方式的好处:避免了单继承的局限性
在定义线程时,建立使用实现方式

继承Thread:线程代码存放在Thread子类run方法中
实现Runnable:线程代码存在接口的子类的run方法中

同步代码块(解决多个线程执行一个功能体中的内容,解决安全问题)

synchronized(对象){需要被同步的代码}

对象如同锁,持有锁的线程可以在同步中执行,没有持有锁的线程即使获取cpu的执行权,也进不去,因为没有获取锁

同步的前提
  1.必须有两个或者两个以上的线程
  2.必须是多个线程使用同一个锁
好处:解决了多线程的安全问题
弊端:多个线程需要判断锁,较为消耗资源

1 个回复

倒序浏览
风华正茂 来自手机 中级黑马 2015-8-22 12:24:51
沙发
楼主写得不错,赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马