多线程的出来
问题如下:
case 4:
if(playFlag && myPlayer.inputData(playPort, paramArrayOfByte,byteLen)) {
myThread.printData(paramArrayOfByte);
playFlag = true;
}
public class MyThread extends Thread{
private byte[] data;
public MyThread() {
//this.data=data;
}
public void printData(byte[] data){
this.data=data;
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
if(data==null){
Log.i("DATA", "*************DATA为NULL********************");
}else{
for(int i=0;i<data.length;i++){
Log.i("DATA", data[i]+"");
}
Log.i("DATA", "***************************************");
}
}
}
我只列出了要处理的代码部分。
请问我如何将“paramArrayOfByte”(是一个数组)传到一个线程中去打印出来。
我尝试过的方法:1.我建了一个线程类。在“处理语句1”中开启。但是这样会循环开启很多线程。
例子中的代码是我在初始话的时候开启的线程。在线程类中新建一个方法“printData”。将参数传给线程类。在run中打印。
但是这样数据并没有传过来。请问为什么?
------解决方案--------------------直接一个带参构造函数不就可以了??public MyThread(byte[] data){this.data = data;}