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

处理多线程同步有关问题

2012-12-27 
处理多线程同步问题public class BusinessFor {private boolean bShouldSub truepublic synchronized v

处理多线程同步问题

public class BusinessFor {private boolean bShouldSub = true;public synchronized void sub(int j) {//如果我不能执行,我将被设置为等待while (!bShouldSub) { try {this.wait();} catch (InterruptedException e) {e.printStackTrace();}}for (int i = 1; i <= 10; i++) {System.out.println("sub: " + i + ",loop: " + j);}bShouldSub = false;this.notify();//唤醒}public synchronized void zhu(int j) {while (bShouldSub) {try {this.wait();} catch (InterruptedException e) {e.printStackTrace();}}for (int i = 1; i <= 100; i++) {System.out.println("main: " + i + ",loop: " + j);}bShouldSub = true;this.notify();//唤醒}}

?? 这是一种多线程设计的一种思想,将线程同步的信息放在可syn同步的类中 。

?? 以下是启动线程测试

public class ThreadTongBu {public static void main(String[] args) {final BusinessFor businessFor = new BusinessFor();new Thread(new Runnable() {public void run() {for(int i=1;i<=50;i++){businessFor.sub(i);}}}).start();for(int i=1;i<=50;i++){businessFor.zhu(i);}}}

?

?

?

热点排行