博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA笔记:多线程的理解及应用(二)
阅读量:5263 次
发布时间:2019-06-14

本文共 1230 字,大约阅读时间需要 4 分钟。

Java中的主方法其实也是一个线程,就叫做主线程。

问:既然主方法是以线程的形式出现的,那么Java中至少有多少个线程呢?

答案:至少有两个线程。每次启动Java的时候其实都会启动JVM,则其中的垃圾回收机制也算是一个线程,则一共有两个线程,主线程和GC。

判断线程是否启动可以使用.isAlive方法,返回的是布尔值。

线程的强制运行

在线程的操作中,可以使用join()方法让一个线程强制运行,线程强制运行期间,其他线程无法运行,必须等该线程运行完毕才能执行。

线程的休眠

程序中可以实现线程短暂的休眠,直接使用Thread.sleep();即可。

线程的终止

可以实现线程的终止,使用interrupt方法即可。

后台线程

在Java中,只要前台有一个线程在运行,则整个Java进程都不会消失,所以此时可以设置一个后台线程,此时如果Java进程结束了,此线程也不会消失。

使用setDaemon()方法即可。

线程的优先级

在Java线程中,哪个线程的优先级最高就先执行哪个线程。

优先级分类如下:

特殊:在主线程main中,默认的优先级是NORM_PRIORITY,即主线程的优先级为中等。

线程的礼让

在线程的使用中,可以使用yield()方法实现线程的礼让,就是暂时把当前线程暂停,让给其他线程执行。

例:

class MyThread implements Runnable{	// 实现Runnable接口	public void run(){	// 覆写run()方法		for(int i=0;i<5;i++){			try{				Thread.sleep(500) ;			}catch(Exception e){}			System.out.println(Thread.currentThread().getName()					+ "运行,i = " + i) ;	// 取得当前线程的名字			if(i==2){				System.out.print("线程礼让:") ;				Thread.currentThread().yield() ;	// 线程礼让			}		}	}};public class ThreadYieldDemo{	public static void main(String args[]){		MyThread my = new MyThread() ;	// 实例化MyThread对象		Thread t1 = new Thread(my,"线程A") ;		Thread t2 = new Thread(my,"线程B") ;		t1.start() ;		t2.start() ;	}};
总结:本篇主要学习了Java中线程的休眠,终止,礼让等功能,其实就是对线程进行的一个基本操作。

转载于:https://www.cnblogs.com/tryitboy/p/4231123.html

你可能感兴趣的文章
UCenter Home与站长的SNS梦想
查看>>
浅析新建Oracle数据库的三种方法
查看>>
Jmeter性能测试之进阶BeanShell的使用
查看>>
MFC图形图像
查看>>
eclipse、idea切换大小写的快捷键
查看>>
NGUI系列教程一
查看>>
Amazon Route 53
查看>>
爬虫系列(十三) 用selenium爬取京东商品
查看>>
吴裕雄--天生自然 R语言数据可视化绘图(1)
查看>>
手工实现HttpBasic校验
查看>>
Socket网络编程--聊天程序(2)
查看>>
C++中类模板的深入理解
查看>>
gDebugger 4.0 破解
查看>>
转载-Prim,Kruscal,dijkstra
查看>>
使用Eclipse Memory Analyzer进行内存泄漏分析三部曲
查看>>
连接mysql 出现 1005 error(150) , error(121)的错误
查看>>
当mysql报错1045时的解决方法
查看>>
sql server 行列互转
查看>>
浅谈JSONObject,GSON解析JSON
查看>>
静态方法怎样访问非静态方法?
查看>>