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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-4-24 17:10 编辑

                                       就业班_JavaSE_day11_多线程
多线程
一  定义
     进程:运行的应用程序。可以通过任务管理器查看。一个应用可能有一个或者多个进程。
     线程:应用程序的一条执行路径。从属于进程,一个进程可能包含一个或多个线程。
     同步:指程序中的多个线程按顺序一步一步执行,多见于多线程对共享资源的访问。
     异步:与同步相反,多个线程可以同时执行。
     
二  线程的创建
     1 继承Thread类,并重写run方法,通过Thread的start()方法启动线程。
     2 实现Runnable接口,并重写run方法,然后new Thread( Runnable接口实现类),再
        通过Thread的start()方法启动线程。
     一般通过第二种方式来创建线程。
     
三  线程的同步
     通过卖票问题引出线程的同步
     创建多线程并且共享资源的实现方式:
           一 继承Thread类,通过添加静态成员变量,来实现多个线程共享同一资源
           二 实现Runnable接口,添加一个成员变量,或者静态成员变量,
               创建Thread对象时,传入同一个runnable对象。来实现多个线程共享同一资源。
           三  单独将业务代码抽取出来放在一个类中,只创建一个带业务类的对象,并在run方法中调用
                业务方法。 该访问可以提供多个业务方法,供线程调用。
     多个线程对共享资源的访问,通过锁机制来实现同步。
     1. synchronized 代码块
     2. synchronized 修饰方法
     注意 多个线程需要同一把锁,即用同一个对象来上锁。
     
四 线程间通信、线程池、JDK5线程新特性后续补充。



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马