一、如何调试和查看多线程程序?

命令行下输入:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

$ jconsole

二、线程的生命周期?

NEW

RUNNABLE

RUNNING

BLOCKKED

TERMINATED

 

三、例子:

package com.javaconcurrencyprogramming.chapter1;

import java.util.concurrent.TimeUnit;

import static java.lang.Thread.sleep;

/**
* @description: java多线程的一个例子
* @author:
* @create:
**/

public class TryConcurrency {

public static void main(String[] args) {

/*
线程启动必须在前
*/
/*new Thread(){
public void run(){
enjoyMusic();
}
}.start();

browseNews();
*/
//jdk8中的写法
new Thread(TryConcurrency::enjoyMusic).start();
browseNews();
}



private static void browseNews() {

for (;;){
System.out.println("Uh-huh, the good news.");
sleep(1);
}
}

private static void enjoyMusic(){

for (;;){
System.out.println("Uh-huh, the nice music.");
sleep(1);
}
}

private static void sleep(int seconds){

try {
TimeUnit.SECONDS.sleep(seconds);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄