在Java Eclipse中使用线程或延迟

时间:2013-10-04 07:41:32

标签: java multithreading delay

我有两个类,第一个类用于调用第二个类

第一类

public boolean onOptionsItemSelected(MenuItem item) {
    Log.i(TAG, "Menu Item selected " + item);
    if (item == A) {
        SecondClassVariabel.setViewMode(SecondClass.Object_1);
    } else if (item == B) {
        SecondClassVariabel.setViewMode(SecondClass.Object_2);
    } 

第二课

public SecondClass(Context context) {
    super(context);
    Holder = getHolder();
    Holder.addCallback(this);
    Log.i(TAG, "Instantiated new " + this.getClass());
    SecondClassVariabel = Object_1;
}

public void surfaceCreated(SurfaceHolder holder) {
    Log.i(TAG, "surfaceCreated");
    (new Thread(this)).start();
}

protected Bitmap processFrame(byte[] data) {
    mYuv.put(0, 0, data);
    final int viewMode = Tampilan;

    switch (viewMode) {
    case Object_1:
        /** Call another sub class */
        break;
    case Object_2:
        /**Call another sub class */
        break;

=============================================== =============================

上述程序已成功运作 现在我试图自动调用“Object_1”和“Object_2”..

* fyi =要调用object_1和object_2,我使用按钮。

我想添加Thread函数或Delay函数来先调用object_1然后再调用object_2而不使用按钮。

守则......

public void surfaceCreated(SurfaceHolder holder) {
    Log.i(TAG, "surfaceCreated");
    (new Thread(this)).start();
对于object_1,

然后(new Thread(this)).sleep(5000); // 然后(new Thread(this)).sleep(5000); //对于object_2     }

我对使用延迟或线程功能的以下步骤感到困惑。 请帮忙..

1 个答案:

答案 0 :(得分:0)

你的问题不是很清楚但是如果你想要调用具有不同线程的对象并且在两者之间有一些延迟,那么你可以这样做:

1.call object1 in new thread

2.delay - Thread.currentThread()。sleep(5000);

3.在新线程中调用object2

让两个线程都进入睡眠状态无济于事。