zoukankan      html  css  js  c++  java
  • Java_线程

    什么是进程?
      进程是指可执行程序并存放在计算机存储器的一个指令序列,它是一个动态的执行过程;
      多任务可以同时进行
    什么是线程?
      线程是比进程更小的运行单位,线程相当于一个子程序;
      cpu通过时间片轮转的方式来达到多任务同时运行的效果
    线程的创建:
      1.创建Thread类的子类
      2.创建实现Runnable接口的类
    线程的状态:
      1.新建(New)
      2.可运行(Runnable)
      3.运行时(Running)
      4.阻塞(Blocked)
      5.终止(Dead)
                                                             线程的生命周期

    线程的优先级:
      Java为线程一共了10个优先级;数字越大,优先级越高
      优先级可以用1-10的整数表示,超出范围会抛出异常;
      main()主线程的默认优先级为5;
    常量优先级:MAX_PRIORITY:最高优先级10
      MIN_PRIORITY:最高优先级0
      NORM_PRIORITY:默认优先级5
      注意:线程优先级的设置受操作系统环境的影响,不能完全保证优先级高的线程就一定优先运行;

    线程同步
      各个线程通过竞争CPU时间而获得运行机会;
      各线程占用CPU的时间是不可预测的;
      一个线程在什么时候会被暂停也是不可预测的;
      使用同步关键字synchronized将对象锁定,只允许一个线程对当前对象进行操作
      同步方法:public synchronized void add(){}
      同步语句块:synchronized(obj){} obj是指要锁定的对象,如 synchronized(this){}
    线程间通信
      生产者和消费者问题:
      定义一个boolean变量,把当前对象看作一个容器,为true时,表示容器中有产品,不需要生产(线程等待),可以消费;为false时,需要生产,才能消费(线程等待).
      激活wait()线程的方法:notify()唤醒等待的某一个线程(随机).
      notifyAll()唤醒所有线程.

  • 相关阅读:
    剩余类&完全剩余组
    同余验算法
    一种快速余数求法
    同余的性质II
    同余初步
    求N个数的最小公倍数
    N个数GCD求解法
    快速求解GCD的三个Trick
    质数的几个有趣问题
    等比数列求和公式
  • 原文地址:https://www.cnblogs.com/conglingkaishi/p/9256923.html
Copyright © 2011-2022 走看看