java TimeUnit synchronized demo

import java.util.concurrent.TimeUnit;
public class TestCalc
{
  private static boolean stopRequested=false;
  private static synchronized void requestStop()
  {
    stopRequested=true;
  }

  private static synchronized boolean stopRequested()
  {
    return stopRequested;
  }
  public static void main(String[] args)
    throws InterruptedException
   {
    Thread backgroundThread=new Thread
    (
      new Runnable(){
        public void run()
        {
          int i=0;
          while(!stopRequested()){
            i++;
            System.out.println("------------> "+ i );
          }

        }
      }

      );

    backgroundThread.start();

    //TimeUnit.SECONDS.sleep(1);  //建议用TimeUnit
     backgroundThread.sleep(1000);

    requestStop();
  }
}
时间: 2024-10-13 22:33:16

java TimeUnit synchronized demo的相关文章

Java 的 synchronized

Java 的 synchronized 当任务要执行被syschronized方法时候,此对象都被加锁,这时该对象上其他synchronized方法只有等到前一个方法调用完毕并释放了锁才能被调用 class Demo{ synchronized void a(); syschronized void b(); } 如果a被调用并且没有被释放,此时调用b,是不能执行的,只有等待a执行完,才可以被调用 对应某个特定的对象来说,其所有synchronized方法共享了一个锁,这可以被用来防止多个任务同

Exception in thread "main" java.lang.NoClassDefFoundError: Demo (wrong name: com/zhangyun/Demo)解决办法

介绍一个Java初学者可能会遇到的问题 首先,创建一个类,如下: 文件名:Demo.java package com.zhangyun; public class Demo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Hello World!"); } } 然后我找到对应在磁盘的位置,如下: E

Java关键字synchronized详解

Java关键字synchronized详解 博客分类: Java综合 Java多线程thread互联网制造 synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运行完这个方法后再运行此线程A,没有的话,直接运行 它包括两种用法:synchronized 方法和 synchronized 块. 1. synchronized 方法: 通过在方法声明中

java:synchronized 同步代码块

synchronized:利用上锁实现数据同步,避免多线程操作的情况下,数据出现异常. 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行. 另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块. 在代码块前加上 synchronized关键字,则此代码块就成为同步代码块, 格式: synchronized(同步对象){ 需要同步的代码: } class MyThread implements Runnab

java mail发送邮件demo 代码

java mail发送邮件demo,引入mail.jar,运行测试发送ok[代码][Java]代码     01import java.util.Date;02import java.util.Properties;0304import javax.mail.Authenticator;05import javax.mail.Message;06import javax.mail.MessagingException;07import javax.mail.PasswordAuthenticat

Java基础-synchronized关键字的用法(转载)

原文地址:http://blog.csdn.net/cq361106306/article/details/38736551 synchronized--同步 顾名思义是用于同步互斥的作用的. 这里精简的记一下它的使用方法以及意义: 当synchronized修饰?this或者非静态方法或者是一个实例的时候,所同步的锁是加在this或者实例对象引用上面的.比如a,b同为Main类的实例化对象,a调用被同步的方法,和b调用被同步的方法,没有形成互斥.但是不同线程的a对象调用被同步的方法就被互斥了.

JAVA长连接demo

http://blog.csdn.net/caomiao2006/article/details/38830475 JAVA长连接demo 2014-08-25 23:20 4767人阅读 评论(2) 收藏 举报  分类: JAVA(161)  [java] view plain copy package houlei.csdn.keepalive; import java.io.Serializable; import java.text.SimpleDateFormat; import ja

JAVA多线程synchronized详解

Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行.另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块. 然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块. 尤其关键

Java反射机制demo(四)—获取一个类的父类和实现的接口

Java反射机制demo(四)—获取一个类的父类和实现的接口 1,Java反射机制得到一个类的父类 使用Class类中的getSuperClass()方法能够得到一个类的父类 如果此 Class 表示 Object 类.一个接口.一个基本类型或 void,则返回 null.如果此对象表示一个数组类,则返回表示该 Object 类的 Class 对象. 测试代码: package com.aaron.reflect; public class Demo4 { public static void