首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

又简略又好用的同步控制

2012-09-22 
又简单又好用的同步控制上代码package com.enfang/** * 一种简单的加锁方式,定义一个属性 boolean lock

又简单又好用的同步控制

上代码

package com.enfang;/** * 一种简单的加锁方式,定义一个属性 boolean lock = false; * 当方法m1()执行的前,让lock = true;执行后将lock = false; * 同时在需要加锁的那个方法如下run(),先判断lock 是否等于false; * 当lock等于false的时候,才执行,否则只能等待m1()执行后才去执行run(); *  * @author Administrator * */public class SimpleLock extends Thread{boolean lock = false;public void m1() throws Exception{lock = true;System.out.println("i am m1!");Thread.sleep(10000);lock = false;}@Overridepublic void run(){try {Thread.sleep(1000);} catch (InterruptedException e1) {}if(lock==true){System.out.println("execute m1 now....");try {Thread.sleep(10000);} catch (InterruptedException e) {}System.out.println("i am m2!");}else {System.out.println(1111);System.out.println("i am m2!");}}public static void main(String[] args) throws Exception {SimpleLock sl = new SimpleLock();Thread t = new Thread(sl);t.start();sl.m1();}}

在多线程中,这并不是一个好方法,只是编程中的一个使用的小技巧,这里使用线程主要是模拟两个客户端同时调用m1()和run()这种情况,实际使用中不需要加线程。刚入门还望多多包含。?

热点排行