Junit测试类线程执行睡眠sleep()后次线程后面的程序不能进行

Junit测试类线程执行睡眠sleep()后次线程后面的程序不能进行Junit测试类线程执行睡眠sleep()后次线程后面的程序不能进行

大家好,又见面了,我是你们的朋友全栈君。

Junit测试类线程执行睡眠sleep()后次线程后面的程序不能进行;因为junit执行的程序必须是激活状态的。而sleep是睡眠状态,一旦执行就会自动退出程序。

如下:

package com.xiaoyexinxin.ThreadLearn;

import org.junit.Test;

public class MultiThread {

	private int num=0;
	public synchronized void printNum(String tar){
		try {
			if(tar.equals("a")){
				num=100;
				System.out.println("线程a");
				Thread.sleep(10);//休息1秒,之所以这样是为了让大家看到两个线程互不干扰,如果不休息的话,瞬间执行完了,看不出效果  
			}else{
				num=200;
				System.out.println("线程b");
//				Thread.sleep(10);//休息1秒,之所以这样是为了让大家看到两个线程互不干扰,如果不休息的话,瞬间执行完了,看不出效果  

			}
			System.out.println("输出的线程是:"+tar+",num:"+num);
		}catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	@Test
	public void MultiThreadTest(){
		final MultiThread mThread1=new MultiThread();
		final MultiThread mThread2=new MultiThread();//设为final表示此对象不能别继承,没有子类。如果是方法被定义成final,则此方法不能被重写
		Thread t1=new Thread(new Runnable() {
			
			public void run() {
				// TODO Auto-generated method stub
				mThread1.printNum("a");
			}
		});
		Thread t2=new Thread(new Runnable() {
			
			public void run() {
				// TODO Auto-generated method stub
				mThread2.printNum("b");
				
			}
		});
		t1.start();
		t2.start();
	}
}

输出结果:

线程a
线程b
输出的线程是:b,num:200

可见上面有两个线程,但是没有

输出的线程是:a,num:200

输出。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最大共识面临崩塌?比特币要增发?

    最大共识面临崩塌?比特币要增发?白话区块链从入门到精通,看我就够了!两天前,江卓尔的一条微博,一石激起千层浪。原文是这样的:比特币Core下一目标是增发比特币,修改其上限2100万,停止减半。没错,不要…

    2022年5月28日
    36
  • phpspreadsheet 读取 Excel 表格问题

    phpspreadsheet 读取 Excel 表格问题要读取大量数据,需要ReadFilter,指定读取范围,下面是我的ReadFilter类<?phpnamespacecommon\models;classMyExcelReadFilterimplements\PhpOffice\PhpSpreadsheet\Reader\IReadFilter{private$startRowNo;//如1private$endRowNo;//如1000private$

    2022年9月17日
    3
  • cdn调度系统_cdn缓存调度

    cdn调度系统_cdn缓存调度CDN调度器HAProxy、Nginx、Varnish

    2022年4月22日
    37
  • java线程间通信的几种方法_socket通信原理 java

    java线程间通信的几种方法_socket通信原理 javaJava线程间通信

    2022年10月7日
    2
  • idea安装教程csdn_灯具安装教程

    idea安装教程csdn_灯具安装教程一、下载百度搜索“idea下载”后点进下载网页,如图示直接点击右手边黑色的下载,其余不动二、安装下载完成后建议即刻打开运行,一路next到安装路径,尽量选择C盘以外的盘(这里我想说懂的都懂,不懂就按着做),如果不知道放哪个文件夹可新建个soft专门放应用完成后继续next,第一个32/64按照自己系统类型选择(右击此电脑,点击属性,在关于界面的设备规格里可查看),这里直接勾选64即可。其余都可不选。后面继续next和install加载完成后勾选运行,再点击结…

    2022年10月2日
    3
  • PLsql 永久注册码「建议收藏」

    PLsql 永久注册码「建议收藏」 注册码:ProductCode:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserialNumber:601769password:xs374ca  原文链接:https://blog.csdn.net/sinat_33142609/article/details/72540025

    2022年7月24日
    553

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号