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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一.JDK5的Lock锁:
        Lock l = ....;
        try{
                //同步的代码
        }finally{
                l.unlock();
        }
二.死锁:
        见homework的doc文档;
三."单生产"和"单消费":
        1.此例只适用于"单生产"和"单消费";
        2.当访问的资源不足时,可以让当前访问的线程等待:wait()
          当资源准备好后,可以唤醒等待的线程:notify()/notifyAll()
四.线程组:
        1.所有线程默认属于:main线程组;
        2.自行分配线程组:
                1).实例化线程组对象:ThreadGroup tg = new ThreadGroup();
                2).实例化一个Thread对象:new Thread(tg,new MyThread());
        3.我们可以统一对组内的线程进行统一操作:例如:停止线程
                tg.interrupt();//停掉组内所有的线程
五.线程池:
        JDK5新增了一个Executors工厂类来产生线程池,有如下几个方法
                public static ExecutorService newCachedThreadPool()
                public static ExecutorService newFixedThreadPool(int nThreads)
                public static ExecutorService newSingleThreadExecutor()
        操作线程池:
                Future<?> submit(Runnable task):执行线程,并缓存线程;
                <T> Future<T> submit(Callable<T> task)

六.JDK5实现线程的方式:
        1.自定义类,实现Callable接口;
        2.重写call()方法;
        3.启动线程:
                1).获取一个线程池;
                2).调用线程池的submit()方法;
七.定时器:
        1.TimerTask(抽象类):定义任务
                1).自定义类继承自TimerTask;
                2).重写run()方法;
        2.Timer类:启动定时器:
                1).构造一个Timer对象;
                2).public void schedule(TimerTask task, long delay)
                   public void schedule(TimerTask task,long delay,long period)

评分

参与人数 2黑马币 +21 收起 理由
ncrbot + 5
liuch111 + 16 很给力!

查看全部评分

1 个回复

正序浏览
顶顶顶 学到了好多
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马