java something

不要以为......很遥远
随笔 - 23, 文章 - 1, 评论 - 2, 引用 - 0
数据加载中……

2011年9月2日

Activity生命周期

现有两个Activity:  Activity1,Activity2

先启动Activity1运行顺序为: Activity1 onCreate -> Activity1 onStart -> Activity1 onResume
用Intent从Activity1跳到Activity2运行顺序 : 
Activity1 onPause -> Activity2 onCreate -> Activity2 onStart -> Activity2 onResume ->Activity1 onStop -> Activity1  onDestroy
退出应用程序: Activity2 onResume ->Activity2 onStop -> Activity2  onDestroy

posted @ 2011-09-02 17:48 Jamie 阅读(216) | 评论 (0)编辑 收藏

控制3个线程运行顺序的Demo

本程序可以控制3个线程按顺序执行, 代码如下:

public class Test3 {

 public static void main(String[] args) throws IOException {
  final Test obj = new Test();
  
  new Thread()
  {
   public void run()
   {
    obj.m1();
   }
  }.start();
  new Thread()
  {
   public void run()
   {
    obj.m2();
   }
  }.start();
  new Thread()
  {
   public void run()
   {
    obj.m3();
   }
  }.start();
  
 }

}

class Test
{
 static int count;
 volatile int target = 1;
 synchronized void m1()
 { 
   for (int i = 0; i < 10; i++)
   {
    while (target == 2 || target == 3)
    {
     try {
      wait();
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
    System.out.println("m1() =" + i);
    target = 2;
    notifyAll();
   }
 }
 
 synchronized void m2()
 {
  for (int i = 0; i < 10; i++)
  {
   while (target == 1 || target == 3)
   {
    try {
     wait();
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   System.out.println("m2() =" + i);
   target = 3;
   notifyAll();
  }
 }
 
 synchronized void m3()
 {
  for (int i = 0; i < 10; i++)
  {
   while (target == 1 || target == 2)
   {
    try {
     wait();
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   System.out.println("m3() =" + i);
   target = 1;
   notifyAll();
  }
 }
}

posted @ 2011-09-02 02:27 Jamie 阅读(1759) | 评论 (2)编辑 收藏

线程的同步与共享

     摘要: 线程的同步与共享 前面程序中的线程都是独立的、异步执行的线程。但在很多情况下,多个线程需要共享数据资源,这就涉及到线程的同步与资源共享的问题。 1 资源冲突 下面的例子说明,多个线程共享资源,如果不加以控制可能会产生冲突。 程序CounterTest.java   Code highlighting produced by Actipro CodeHighlight...  阅读全文

posted @ 2011-09-02 01:38 Jamie 阅读(470) | 评论 (0)编辑 收藏