10月15日 自学问题

1.线程进入阻塞状态wait()要用notify()唤醒

wait()执行同时会释放锁

2.生产者,消费者模式的代码  生产 消费是两个线程:用继承或是实现的方法重写run()方法   

  clerk共享数据,产品增加,减少过程中wait(),还有解锁

3.创建多线程方式:继承、实现、

线程池

实现callable接口(重写call方法,可以有返回值,可以抛出异常,支持泛型返回值,需要借助Future Task方法)

  1.创建一个实现Callable实现

  2.实现call方法,将此线程需要做的操作声明在call()中,可以有返回值

  3.创建Callable接口实现类的对象

    4.将此Callable接口实现类的对象作为传递到FutureTask构造器中,创建FutureTask的对象

  5.将FutureTask的对象作为参数传递到Thread类的构造器中,创建Thread对象,并调用start

    6.获取Callable中的call的返回值

使用线程池:提前创建多个线程到线程池中,使用时直接获取  线程池API:ExecutorService  Executors

1.提供指定线程数量的线程池

2.执行指定的线程操作,需要提供实现Runnable接口或CAllable接口实现类的对象

3.关闭连接池

posted @ 2020-10-15 22:52  accelerateInvolute  阅读(69)  评论(0)    收藏  举报