Android线程加入

时间:2013-03-18 09:57:28

标签: android multithreading join

在我的代码中,我在一个线程中有一个代码,它首先尝试从Database更新某些内容,如果更新不成功,则尝试插入。我的问题是这个代码被调用了两次(我不知道但是现在让我们忽略它)因此,插入被调用两次,因为更新没有完成(至少这是我的想法)。我在google上搜索过我想使用thread.join()。我的问题是,在我的情况下是否可以使用thread.join()

由于

 public void persistChangesToDatabase() {

    final Thread backThread = new Thread(new Runnable() {
        @Override
        public void run() {
                try {

                    openDataBase();

                     <-- SOME CODE -->

                    //First, an UPDATE is tried
                    int rowsAffected = updateTable();

                    // If update fails an INSERT is tried
                    if (rowsAffected == 0) {

                        //Insert
                        insert();
                    } 

                } catch (SQLException e) {
                    e.printStackTrace();                       
                }
            }

    });
    backThread.start();
    try {
        backThread.join();
    } catch (InterruptedException e) {
        e.printStackTrace(); 
    }

}

0 个答案:

没有答案