我越到了一个for循环的逻辑问题。我现在想在for循环里面执行一个线程,而线程里面又有一个执行的程序,我想当线程里面的程序执行完成以后,再循环下一次,如for(int i=0;i<10;i++)循环执行完程序后i+1。
解决方案 »
- 关于android socket编程的一个问题
- 关于Content-Provider的问题
- 使用rokon的几个问题 请教~~~
- intent 那里错了。。
- 日期控件
- android入门级问题
- the application has stopped unexpectedly
- 求教!程序没报错,但点击之后显示Starting MMI sequence
- 老哥们,在安卓6.0以上,我想在代码中改变文件的读写权限,不成功,可能是什么原因呢?
- 当前activity怎么获得mainactivity开的子线程socket收到的数据?
- 重写MediaController样式。。怎么做。。
- HelloWorld不显示出来
for (int i = 0; i < 7; i++){
synchronized (object){
new Thread(){
public void run(){
synchronized (object){
try{
sleep(100);
}catch (InterruptedException e){
e.printStackTrace();
}
System.out.println(System.currentTimeMillis()+"aaaaa");
object.notifyAll();
}
}
}.start();
object.wait();
System.out.println(System.currentTimeMillis()+"bbbbb");
}
}
直接循环执行本该在线程里run的东西就是了
1、全局变量:这种方法简单,但这种风格容易使全局变量泛滥。像这种局变的同步,可以不用提升到全局的层面上。但这种方法的确是实现起来最快的啊~~~双刃剑
2、做一个任务类:这种方法条理清晰,结构严谨,缺点是代码会比较多。。
以上两个方法都无法实现线程局部存储,这是上面两点共同的缺点3、启动线程,使用局部变量同步:这种方法的缺点是控制流复杂。优点就是可以使用线程局部存储,或者调用已经写好,不好修改,要求以线程方式启用的模块。以上都是用的Java的线程同步机制
具体实现需依项目实际选择。