【发布时间】:2018-11-09 07:51:36
【问题描述】:
我使用MPChart 来绘制多个图表。我希望它一张一张地画出来。
所以我使用以下代码:
private class ChartThread implements Runnable{
String[] list;
String TAG;
private ChartThread (String[] list , String TAG) {
this.list= list;
this.TAG = TAG;
}
@Override
public void run() {
synchronized(this) {
mActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
showOnMPChart(list , TAG);
}
});
}
}
}
并使用以下代码调用线程:
ChartThread myRunnable1 = new ChartThread (getStringArray1(),TAG_mpchart_first);
Thread myThread1=new Thread(myRunnable1);
myThread1.start();
ChartThread myRunnable2 = new ChartThread (getStringArray2(),TAG_mpchart_second);
Thread myThread2=new Thread(myRunnable2);
myThread2.start();
ChartThread myRunnable3 = new ChartThread (getStringArray3(),TAG_mpchart_third);
Thread myThread3=new Thread(myRunnable3);
myThread3.start();
当我只调用一次ChartThread 时,它是有效的。
但是当我通过上面的代码调用线程三次时它失败了。
但它并没有一一绘制图表。我错过了什么吗?
提前致谢。
【问题讨论】:
-
为什么不能连续拨打
showOnMPChart3次?
标签: android multithreading synchronized