• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

线程基础知识

开发技术 开发技术 4个月前 (09-15) 50次浏览

1  核心概念

   线程就是独立的执行路径;

    在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程;

    main()称之为主线程,为系统的入口有,用于执行整个程序;

         在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为干预的;

    对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制;

    线程会带来额外的开销,如CPU调度时间,并发控制开销。

    每个线程在自己的工作内存交互,内存控制不当会造成数据不一致

2 三种创建方式

  Thread class  ->   继承 Thread 类

         子类集成Thread类具备多线程能力

      启动线程:子类对象.start()

      不建议使用:避免OOP单继承局限性

     Runnable    ->       实现Runnable接口

    实现接口Runnable具有多线程能力

      启动线程:传入目标对象+Thread对象.start()

      推荐使用:避免单继承局限性  ,灵活方便,方便同一个对象被多个线程使用  (多个线程同时操作同一个资源的情况下,线程不安全,数据紊乱

   Callable   ->       实现Callable接口


程序员灯塔
转载请注明原文链接:线程基础知识
喜欢 (0)