zoukankan      html  css  js  c++  java
  • 8.20Java入门--->第二十四节(多线程)

    dateInputStream、dateOutputStream

    数据流,操作基本数据类型

    File

    创建文件 Create

    检测文件是否存在

    多线程

    1、实现多线程的方式

    继承Thread

    实现 Runnable接口

    实现 Callable接口

    算了自己总结吧,8.20   14:45 一直做练习到17:20下课

    实现实现 Callable接口

    //创建服务
    ExecutorService esr=new Executors.newFixedThreadPool(3);
    //提交执行 Future
    <String> s= esr.submit(myThread3);
    //读取结果 String s1
    =s.get();
    //关闭服务 esr.shutdown();

    对应的实现类,实现Callable接口,重写Call方法
    Call方法有返回值

     实质只有Runable一种方式,Thread类实现了Runable接口

    2、启动一个新线程

    启动线程的唯一方 法就是通过 Thread 类的 start()实例方法。start()方法是一个 native 方法,它将启动一个新线 程,并执行 run()方法。

    start()方法才是新建一个线程。

    3、线程池

    Java 里面线程池的顶级接口是 Executor,但是严格意义上讲真正的线程池接口是 ExecutorService。

    1、newCachedThreadPool

    创建一个可根据需要创建新线程的线程池,调用 execute 将重用以前构造 的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并 从缓存中移除那些已有 60 秒钟未被使用的线程。

    2、newFixedThreadPool

    创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程。

    如果在所有线程处于活动状态时提交附加任务, 则在有可用线程之前,附加任务将在队列中等待。

    3、newScheduledThreadPool

    创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。

    4、newSingleThreadExecutor

    这个线程 池可以在线程死后(或发生异常时)重新启动一个线程来替代原来的线程继续执行下去!

  • 相关阅读:
    opencv-霍夫直线变换与圆变换
    opencv-角点检测之Harris角点检测
    opencv-图像形态学之开运算、闭运算、形态学梯度、顶帽、黑帽合辑
    opencv-图像形态学之膨胀腐蚀
    MFC-按行读取TXT数据
    MFC-CString与int互相转化
    转-C++宏定义详解
    转-pycharm建立项目
    转-Windows下anaconda简单使用教程
    CSU 1556 Jerry's trouble
  • 原文地址:https://www.cnblogs.com/springxian/p/13538142.html
Copyright © 2011-2022 走看看