読者です 読者をやめる 読者になる 読者になる

Shut the fuck up and write some code

グダグダ言わずにコードを書きたいブログ

Threadのサンプルを作ってみた。

Android

Flasherにはスレッドの概念ってあんまりないような。AS3はイベント処理命!って感じだろうし。AS2ライブラリも作られてるけど、いまいちよくわからんので勉強してみる。

JavaでのThreadの実装方法としては
?クラスThreadを継承
?インターフェースRunnableを実装
の二つ。

色々調べてみるとThreadを使うのが主流ぽい。
http://d.hatena.ne.jp/minghai/20081007/p1
ナイス有益メモですね。ありがとうございます。SDKのサンプルを読むのが一番か。

あとHandlerってのもあるのだけどこちらもよくわからん!
http://d.hatena.ne.jp/s_welt/20071114/1195000557
AndroidではHandlerっつうを使うのが普通っぽい。


ループの実装に関しては検討する必要あるなあ。


とりあえずThreadのサンプル
http://www.hellohiro.com/thread.htm
を参考にサンプルを作ってみる。
ちょっといじくってsleepの時間を変えられるようにしてスレッドごとに挙動が変わるのを確認。

package com.example.test_Thread;

import android.app.Activity;
import android.os.Bundle;

public class test_Thread extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //スレッドを生成
        myThread thread1 = new myThread("thread1",1000);
        myThread thread2 = new myThread("thread2",2000);
        
        // スレッドを開始
        thread1.start();
        thread2.start();

    }
}

class myThread extends Thread {
	
	//sleep時間
	long _waittime;
	
	// コンストラクタ
	public myThread(String name,long time) {
		super(name);
		_waittime=time;
	}
	
	public void run() {
		for (int i=0;i<10;i++) {
			// スレッド名とループ数を表示します
			System.out.println(this.getName() + " : " + i);
			try {
				//停止
				sleep(_waittime);
			} catch (InterruptedException e) {
	           }
	      }
	 }
	
}

startメソッドでrunメソッドが動く
いまのところこの程度の理解orz。

次は画像などの描画ですな。