java 多线程

Thread

实现步骤:

  • 定义一个Thread类的子类
  • 覆盖run()方法,提供线程执行的入口点
  • 创建该线程的一个实例
  • 启动线程,调用实力的start()方法

Runnable

实现步骤:

  • 定义一个实现Runnable接口的类
  • 创建一个上述类的类对象;以该对象为参数创建一个Thread类对象
  • 创建Thread类对象的start()方法,启动线程

在执行的时候,start()方法会调用Runnable接口的实现类中的run()方法

Thread类提供的几种构造方法:

    public Thread();
    public Thread(Runnable target) ;
    public Thread(ThreadGroup group, Runnable target) ;
    public Thread(String name);
    public Thread(ThreadGroup group, String name) ;
    public Thread(Runnable target, String name) ;
    public Thread(ThreadGroup group, Runnable target, String name);
    public Thread(ThreadGroup group, Runnable target, String name, long stackSize)

守护线程

Java中有两类线程:守护线程、用户线程。守护线程是比较特殊的一种低级别线程,一般用于在后台为其他线程提供服务。
守护线程不是应用程序的核心,当程序的所有用户线程终止运行时,即使仍然有守护线程在运行,应用程序也将终止
通过调用方法isDaemon()可以判断线程是否是守护线程,通过调用线程对象的setDaemon(boolean on)方法可以将一个用户线程设置为守护线程。守护线程中创建的线程都将是守护线程

线程的优先级

默认情况下,线程将继承父线程的优先级,所谓父线程是指启动这个线程的线程。Thread类中定义了表示线程最低、最高和普通优先级的成员变量MIN_PRIORITY、MAX_PRIORITY和NORMAL_PRIORITY,代表的优先级等级分别为1、10和5.

线程优先级获取和设置:

threadObj.getPriority();
threadObj.setPriority(6);

Java互斥锁机制

用synchronized修饰方法;synchronized块

public synchronized void sale(int num) {... }
synchronized(obj) {...}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 5,275评论 0 23
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 3,119评论 1 18
  • 本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法、概述等。 首先讲...
    李欣阳阅读 2,615评论 1 15
  • 该文章转自:http://blog.csdn.net/evankaka/article/details/44153...
    加来依蓝阅读 7,474评论 3 87
  • 又一周过去了离期末考试越来越近学习压力也越来越大害怕考不好怕英语不及格怎么办英语始终是我的痛苦虽然平是上课,好好听...
    谢洋1阅读 243评论 0 0

友情链接更多精彩内容