登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Platforms
  3. WINDOWS
  4. JAVA
  5. 正文

Java暂停线程-学习笔记

2017-07-22

暂停线程即线程还可以恢复运行。Java多线程中,可以使用suspend()方法暂停线程,使用resume()方法恢复线程执行。

一、基本使用

public class MyThread extends Thread{
	private long i = 0;
	public long getI()
	{
		return i;
	}
	public void setI(long i)
	{
		this.i = i;
	}
	public void run()
	{
		while(true)
		{
			i++;
		}
	}
}public class App {
	public static void main(String[] args)
	{
		try
		{
			MyThread thread  = new MyThread();
			thread.start();
			Thread.sleep(500);
			thread.suspend();
			System.out.println("A= "+System.currentTimeMillis()+" i="+thread.getI());
			Thread.sleep(5000);
			System.out.println("A= "+System.currentTimeMillis()+" i="+thread.getI());
			
			thread.resume();
			System.out.println("B= "+System.currentTimeMillis()+" i="+thread.getI());
			Thread.sleep(5000);
			System.out.println("B= "+System.currentTimeMillis()+" i="+thread.getI());
		}
		catch(InterruptedException e)
		{
			e.printStackTrace();
		}
	}
}

Output:

A= 1500717071978 i=93100885
A= 1500717076979 i=93100885
B= 1500717076979 i=93127095
B= 1500717081980 i=1091104232

二、suspend与resume缺点

1、独占

在使用suspend与resume方法时,如果使用不当,极易造成公共的同步对象独占,是的其它线程无法访问公共同步对象。

 

-

标签: 暂无
最后更新:2017-07-22

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号