在android studio中同时运行两个线程

时间:2018-07-13 08:40:00

标签: android

 listener(new Listner() {
      @Override
      public void on Click(View view) {
           Thread t =new Thread(new Runnable() {
               @Override
               public void run() {
                   User user =myAppDatabase.mydao().getUser();
                   enter code hereif(user==null){
                   `enter code here`    user=new User();
                       myAppDatabase.mydao().insertcount(user);
                   }
                   final User user2 = user;
                   int count = user.getCount();
                   count +=1;
                   user.setCount(count);
                   myAppDatabase.mydao().updateCount(user.getId(),count);

               }
           });
           t.start();
       }
   });
   Thread s =new Thread(new Runnable() {
       @Override
       public void run() {
      User user =myAppDatabase.mydao().getUser();
      c=user.getCount();
      if(c>m){
          m=c;
          b2.setText("count  =" +c);enter code here
      }
       }
   });
   s.start();
  }

}

1 个答案:

答案 0 :(得分:0)

  

如果要在单个程序中运行两个线程,而不是通过这个简单的示例

 private static int DEF_VALUE = 500;
private static int MIN_VALUE = 0;
private static int MAX_VALUE = 1000;

private AtomicInteger i = new AtomicInteger(DEF_VALUE);
private Thread t1 = null;
private Thread t2 = null;

private void initThreads() {
    Log.i(TAG, "Initializing Threads...");

    t1 = new Thread(new Runnable() {

        @Override
        public void run() {
            Log.i(TAG, "Starting T1.");
            while (i.get() < MAX_VALUE) {
                i.incrementAndGet();
                Log.d(TAG, String.format("Incremented by T1, i = %d", i.get()));
            }
            Log.i(TAG, "Finishing T1.");
        }
    });

    t2 = new Thread(new Runnable() {

        @Override
        public void run() {
            Log.i(TAG, "Starting T1.");
            while (i.get() > MIN_VALUE) {
                i.decrementAndGet();
                Log.d(TAG, String.format("Decremented by T2, i =  %d", i.get()));
            }
            Log.i(TAG, "Finishing T2.");
        }
    });

    t1.start();
    t2.start();
}
相关问题