zoukankan      html  css  js  c++  java
  • java多线程编程总结

    java多线程编程
    1,java实现多线程要靠Thread或Runnable接口,这俩都是java.lang包下的,都包含一个run()方法,该方法中是线程要完成的任务代码。


    2,常用方法有:Thread()构造方法创建线程、start()方法启动线程、sleep()方法让线程休眠、join()使其他线程等待当前线程终止、yield()当前运行线程释放处理器资源、currentThread()获取当前运行线程的引用,每个方法有各种重载,查api。

    3,runnable是不具备start方法的,所以实现了runnable接口的业务类,还是要被构造成Thread类进行启动等调度控制。

    4,正确停止一个线程的方法,应该是设置标志位,而不是直接调用stop方法(太粗暴),且不能用interrupt()方法退出线程,刚方法初中是中断线程,如果该线程正在休眠,程序就不会中断,且会抛出异常响应中断。

    5,线程的互斥和同步,互斥通过synchronized关键字实现,该关键字可以加在方法体上也可以加在语句块上,需要一个标志的普通对象。
    synchronized (Object lockObj) {争用代码体},然后根据业务逻辑设立wait和notify方法,解决同步通信问题,使当前线程等待,其他满足条件线程开始运行,注意这两个方法都是Object类的。

    6,java语言平台的线程开发工具,都在java.util.concurrent包下
    线程池ExecutorService、Callable、Future、BlockingQueue等类

  • 相关阅读:
    oracle用户被锁死
    windows远程桌面智能调整大小
    批量ping测试脚本
    信息的组织和提取方法
    BeautifulSoup
    requests模块学习
    Telerik Fiddler 应用方法
    js 时间格式换成 把字符串(yyyymmdd)转换成日期格式(yyyy-mm-dd)记录
    vuedraggable 拖拽 应用 不同列表之间的拖拽
    vue项目图片上传 vant van-uploader 图片上传
  • 原文地址:https://www.cnblogs.com/sunqian/p/5224356.html
Copyright © 2011-2022 走看看