zoukankan      html  css  js  c++  java
  • 线程唤醒

    /*
    线程间的通信,通过对同类对象进行操作,达到对同一个对象的通信,如放入和输出,
    同时我们要进行线程同步,但是还可能有问题,所以要用一个变量控制线程是否唤醒执行。
    
    停止线程stop()已经过时,不能用了,所以如何解决呢?原理只有一种,run()方法结束。
    开启多线程,运行代码通常是循环结构,只要控制循环,就可以让run()方法结束,线程结束
    
    特殊情况:当线程处于冻结状态,线程就不会读取到标记,线程就不会结束。
    */
    
    class StopThread implements Runnable
    {
    	private boolean flag = true;
    	public synchronized void run()
    	{
    		while(flag)
    		{
    			System.out.println(Thread.currentThread().getName()+".....run");
    		}
    	}
    
    	public void changeFlag()
    	{
    		this.flag = false;
    	}
    }
    class WaitDemo 
    {
    	public static void main(String[] args) 
    	{
    		StopThread st = new StopThread();
    		Thread t1 = new Thread(st);
    		Thread t2 = new Thread(st);
    		t1.start();
    		t2.start();
    		int num = 0;
    		while(true)
    		{
    			if(num++ == 60)
    			{
    				st.changeFlag();
    				break;
    			}
    
    			System.out.println(Thread.currentThread().getName() + ":" + num);
    		}
    
    	}
    }
    

  • 相关阅读:
    基于RBAC的权限设计模型
    RBAC用户权限管理数据库设计
    系统多语言实践(二)
    多语言系统的数据库设计
    系统多语言实践(一)
    企业后台模板
    MYSQL
    JS,Jquery
    BootStrap
    KindEditor
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258544.html
Copyright © 2011-2022 走看看