Java标识位控制线程中断状态

标识中断实体类:

/**
 * 标识位中断线程(推荐使用)
 * 
 * @author WanAkiko
 * 
 */
public class MarkInterrupt implements Runnable {

	private String name;
	private Boolean flag = true;

	public MarkInterrupt() {
		super();
	}

	public MarkInterrupt(String name, Boolean flag) {
		super();
		this.name = name;
		this.flag = flag;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Boolean getFlag() {
		return flag;
	}

	public void setFlag(Boolean flag) {
		this.flag = flag;
	}

	@Override
	public void run() {
		for (int i = 1; i <= 10; i++) {
			System.out.println("当前迭代次数:" + i + ",Thread-" + name);
		}
		while (flag) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			System.out.println("提示:实现线程任务...");
		}
	}

}

标识中断测试:

package test;

import domain.MarkInterrupt;

/**
 * 测试标识位中断线程
 * 
 * @author WanAkiko
 * 
 */
public class TestMarkInterrupt {

	public static void main(String[] args) {

		boolean flag = true;
		MarkInterrupt interrupt = new MarkInterrupt("WanAkiko", flag);
		new Thread(interrupt).start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		interrupt.setFlag(flag = false);

	}

}

运行示例:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44965393/article/details/112728290
今日推荐