zoukankan      html  css  js  c++  java
  • Java中的多线程

      1、 线程中的主要方法

      a) isAlive() 判断线程是否还活着,即线程是否未终止

      b) getPriority() 获得线程的优先级

      c) setPriority() 设置线程的优先级

      d) Thread.sleep() 设置线程休眠的时间

      e) jion() 把当前线程与该线程合并

      f) yield() 让出CUP

      g) 线程的优先级

      i. Thread.MIN_PRIORITY = 1 最小优先级

      ii. Thread.NORM_PRIORITY = 5 默认优先级

      iii. Thread.MAX_PRIORITY = 10 最大优先级

      2、 线程的中断

      a) Stop() 已过时,基本不用

      b) Interrupt() 简单,粗暴

      c) 推荐使用的是设置标志位

      3、 线程的高级操作

      a) wait() 使当前线程等待,直到被其线程唤醒

      b) notify() 唤醒等待的线程

      4、 实现同步的两种方式(主要是synchronized的使用)

      a) 锁代码块

      i. Synchronized(object){要锁的代码块}

      b) 锁方法(推荐使用)

      i. Synchronized void method(){}

      1、 Java多线程的实现主要有两个方式,一个是通过继承Thread类,一个是Runnable接口的实现。在使用多线程时主要用到两个方法一个是重写run()方法,用来实现将要执行的代码。第二个方法是start(),用来启动线程。

      2、 Thread类的实现

      1 public class ThreadDemo extends Thread{

      2

      3 public void run(){

      4 for(int i = 0; i < 20; i++){

      5 System.out.println(Thread.currentThread().getName()+i);

      6 }

      7 }

      8 public static void main(String[] args) {

      9

      10 ThreadDemo td1 = new ThreadDemo();

      11 td1.setName("线程1: ");

      12

      13 ThreadDemo td2 = new ThreadDemo();

      14 td2.setName("线程2: ");

      15

      16 //获取优先级

      17 System.out.println("线程一的优先级为:"+td1.getPriority());

      18

      19 //设置线程的优先级优先级的值为0 - 10 从小到大

      20 td1.setPriority(MIN_PRIORITY);

      21 td2.setPriority(MAX_PRIORITY);

      22

      23 td1.start();

      24 td2.start();

      25

      26

      27 }

      28

      29 }

      1、 Runnable接口的实现

      1 ublic static void main(String[] args) {

      2 TicketRunnable tr = new TicketRunnable();

      3

      4 Thread td1 = new Thread(tr);

      5 td1.setName("窗口1");

      6 Thread td2 = new Thread(tr);

      7 td2.setName("窗口2");

      8 Thread td3 = new Thread(tr);

      9 td3.setName("窗口3");

      10

      11 td1.start();

      12 td2.start();

      13 td3.start();

      14 }

      广州Java培训课程是理论与实践相结合,这样保障了学员很好的掌握理论知识同时,也能根据理论的指导做好实际的工作。为了培养学生的实践能力,设置了很多项目实战课程,在这些课程中,学生可以体验真正的项目实战过程,从而更深刻地掌握知识。

  • 相关阅读:
    高性能计算发展简史
    软件里有“slave”关键字算不算种族歧视
    LAXCUS集群的松耦合和紧耦合性能对比
    《操作系统》课程笔记(Ch12-大容量存储结构)
    《剑指Offer》部分简单题题解
    ASP.Net Core 5.0 MVC中AOP思想的体现(五种过滤器)并结合项目案例说明过滤器的用法
    扒一扒 剪视频-致力打造最好用的视频创作导航
    C#设计模式02——原型模式的写法
    C#设计模式03——简单工厂的写法
    C#设计模式04——工厂方法的写法
  • 原文地址:https://www.cnblogs.com/gojava/p/4179676.html
Copyright © 2011-2022 走看看