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等类

  • 相关阅读:
    无线路由器的工作模式
    php 利用root 权限执行shell脚本
    shell 终端常用插件
    linux space/mark设置
    推送唯一标识符
    微信支付跨平台软件架构
    celery 动态配置定时任务
    两个报文是如何进行 TCP 分组传输
    接口 Interfaces
    How does Circus stack compare to a classical stack?
  • 原文地址:https://www.cnblogs.com/sunqian/p/5224356.html
Copyright © 2011-2022 走看看