声明:本篇博客是本人为了自己学习保存的心得,其内容主要是从大神——五月的仓颉的博客中学习而来,在此多谢大神五月的仓颉的分享,敬礼!如有疑问请联系博主,谢谢!

本章主要记录并讲述线程在项目中常用的方法:

1、start()

start()方法是线程的启动方法,向cpu发出命令去调用线程对象的run()方法,产生一个异步执行的效果。延伸:在多线程的项目中,cpu执行哪一个线程的几率是随机的。

2、run()

run()方法只有调用了start()方法之后才有用。单独调用是没任何作用的。

3、isAlive()

isAlive()是获取线程的状态的(运行=true、停止=false)

4、getId()

在java应用中,有一个long型的全局唯一的线程ID生成器threadSeqNumber,getId()可以获取一个线程的id。

5、getName()

顾名思义,该方法可以获取线程的名称。

6、getPriority()和setPriority(int newPriority)

上面两个方法可以设置线程的优先级,两个在等待CPU的线程,优先级高的线程越容易被CU选择执行。前提:必须要两个线程同事执行。

看如下例子:

public class MyThread1 implements Runnable{

    @Override
public void run() { System.out.println("线程1的优先级:"+Thread.currentThread().getPriority());
}
}
public class MyThread2 implements Runnable{
@Override
public void run() { System.out.println("线程2的优先级:" + Thread.currentThread().getPriority()); }
}
public class Test {

    public static void main(String[] args) {

        MyThread1 myThread1 = new MyThread1();
MyThread2 myThread2 = new MyThread2();
Thread thread1 = new Thread(myThread1);
Thread thread2 = new Thread(myThread2);
thread2.setPriority(4);
thread2.start();
thread1.start();
System.out.println("main: "+Thread.currentThread().getPriority()); } }

运行结果:

main: 5
线程2的优先级:4
线程1的优先级:5

可以看出优先级高的线程先执行(这块我其实是有些疑问的,经过自己的测试,发现并没有得到相应的结果,以后有空多研究研究)

7、isDaeMon、setDaemon(boolean on)

该方法设置线程为守护线程,守护线程是一种的特殊的线程,作用是为其他线程提供便利,最典型的事例就是java的垃圾回收机制,GC线程,伴随着主线程的结束而销毁。

8、join()

该方法主要作用是等待线程销毁,与sleep()方法的区别是:sleep(2000)不释放锁,join(2000)释放锁。

java多线程学习二的更多相关文章

  1. Java多线程学习(二)---线程创建方式

    线程创建方式 摘要: 1. 通过继承Thread类来创建并启动多线程的方式 2. 通过实现Runnable接口来创建并启动线程的方式 3. 通过实现Callable接口来创建并启动线程的方式 4. 总 ...

  2. Java多线程学习(二)synchronized关键字(2)

    转载请备注地址:https://blog.csdn.net/qq_34337272/article/details/79670775 系列文章传送门: Java多线程学习(一)Java多线程入门 Ja ...

  3. Java多线程学习(二)synchronized关键字(1)

    转载请备注地址: https://blog.csdn.net/qq_34337272/article/details/79655194 Java多线程学习(二)将分为两篇文章介绍synchronize ...

  4. Java多线程学习笔记

    进程:正在执行中的程序,其实是应用程序在内存中运行的那片空间.(只负责空间分配) 线程:进程中的一个执行单元,负责进程汇总的程序的运行,一个进程当中至少要有一个线程. 多线程:一个进程中时可以有多个线 ...

  5. Java多线程学习(转载)

    Java多线程学习(转载) 时间:2015-03-14 13:53:14      阅读:137413      评论:4      收藏:3      [点我收藏+] 转载 :http://blog ...

  6. java多线程学习笔记——详细

    一.线程类  1.新建状态(New):新创建了一个线程对象.        2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中, ...

  7. JAVA多线程学习笔记(1)

    JAVA多线程学习笔记(1) 由于笔者使用markdown格式书写,后续copy到blog可能存在格式不美观的问题,本文的.mk文件已经上传到个人的github,会进行同步更新.github传送门 一 ...

  8. Java多线程学习(六)Lock锁的使用

    系列文章传送门: Java多线程学习(二)synchronized关键字(1) Java多线程学习(二)synchronized关键字(2) Java多线程学习(三)volatile关键字 Java多 ...

  9. Java多线程学习(五)线程间通信知识点补充

    系列文章传送门: Java多线程学习(二)synchronized关键字(1) Java多线程学习(二)synchronized关键字(2) Java多线程学习(三)volatile关键字 Java多 ...

随机推荐

  1. js验证表单大全1

    附加:js验证radio是否选择 <script language="javascript"> function checkform(obj) { for(i=0;i& ...

  2. ftp 协议分析

    File Transfer Protocol(文件传输协议) 使用SOCKET实现 FTP的客户端协议规则: .h #pragma once #include <string> #incl ...

  3. 斯坦福大学Andrew Ng - 机器学习笔记(2) -- 逻辑回归 & 正则化

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  4. 启动 nodemanger 报错javax.security.sasl.SaslException: GSS initiate failed

    最近启动 Hadoop, nodemanger 老挂,报kerberos 验证错误,各种查找原因,时间也同步,kint 也能登录到kerberos,一直找不到原因,最后发现是网关和远端的时间同步,但是 ...

  5. Linux下环境变量配置错误 导致大部分命令不可以使用的解决办法

    直接解决方法:在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 后 Enter

  6. Ubantu安装Odoo10学习日志

    Windows安装是十分简单的,无论是何种方式,在了解大体情况下,我开始尝试下将Odoo搭建部署在Ubantu上. 1.Odoo是什么? Odoo是一个开源框架,针对ERP的需求发展出来,适合定制出符 ...

  7. 理解spring中的BeanFactory和FactoryBean的区别与联系

    原文地址:http://blog.csdn.net/joenqc/article/details/66479154 首先,这俩都是个接口… 实现 BeanFactory 接口的类表明此类事一个工厂,作 ...

  8. 【jenkins】jenkins实时显示python脚本输出

    jenkins在构建shell脚本时可以实时输出结果,但是在构建python脚本时,是等到python执行完成以后,才显示结果,这个对于我们判断脚本执行状态非常不利 这里介绍一种方法,能够实时显示py ...

  9. python数据之间的转换和关系

    首先数据类型在我看来分为两类: 容器类:能存储数据,例如:元祖.列表.集合.字符串. 原子类:单纯保存数值,例如:整数.浮点数.复数. 容器类与容器类之间,一般都可以进行两两之间的转化. 原子类与原子 ...

  10. 开发自己的composer package

    参考:https://laravel-china.org/articles/6652/learn-to-develop-their-own-composer-package-and-to-use-pa ...