黑马程序员技术交流社区

标题: 多线程笔记 [打印本页]

作者: lipy1993    时间: 2016-3-25 22:03
标题: 多线程笔记
Thread:线程类
Runnable:线程执行目标接口  需要定义子类,重写run方法,创建子类对象

两种创建线程的方式:
        创建线程对象
        开启线程        public void start()
          获取当前线程对象   public static Thread currentThread()  
         获取线程名称   public final String getName()
        线程睡眠(等待)指定毫秒 public static void sleep(long millis)
               
        第一种:直接定义Thread类的子类,重写run方法 即可

        第二种:线程与线程执行目标分离
                public Thread(Runnable target,String name)  通过线程执行目标类对象,创建线程对象
               
        多线程不考虑安全问题,卖票
       
        多线程考虑安全问题
  
          安全问题前提:
                  1共享数据
                  2多个线程抢占CPU
                3操作共享数据

        synchronized:同步关键字
                将一个原子性动作(通常指操作数据的动作),包裹进synchronized代码块中

        synchronized(任意类型的锁对象) {
                被同步的代码
        }

        锁对象:用于标识与哪个synchronized同步的,即多个线程使用同一个锁对象,才能同步,使用不同的锁对象,则同步不了。
        锁对象可以使用任意的类型。
       
                Lock锁: 更为灵活的锁类
    ReentrantLock:Lock的具体实现类
                  void lock()
                  void unlock()
                 
          同步方法:直接在方法上声明同步,其默认锁为本类当前对象
        如果为静态方法,则锁为本类 类名.class
作者: bo134    时间: 2016-3-25 22:20
666666666666666666666666666
作者: elliot_liu    时间: 2016-3-25 22:30
没学,先看看
作者: funtyung    时间: 2016-3-25 22:43
不错,,,,,,,,,,,,,,,,,
作者: lipy1993    时间: 2016-3-26 11:12
bo134 发表于 2016-3-25 22:20
666666666666666666666666666

谢谢!6666666666666
作者: zshhappy    时间: 2016-3-26 12:46
还有死锁哪????????
作者: Kalsifa    时间: 2016-3-26 19:04
这个也叫笔记。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2