public static void main(String[] args) throws Exception {
MyThread mt1=new MyThread();
System.out.println(Thread.currentThread().getName());
Thread thread1=new Thread(mt1,"我是1线程");//同一个mt,但是在Thread中就不可以,如果用同一
Thread thread2=new Thread(mt1,"我是2线程");//同一个mt,但是在Thread中就不可以,如果用同一
Thread thread3=new Thread(mt1,"我是3线程");//同一个mt,但是在Thread中就不可以,如果用同一
thread1.start();
thread2.start();
thread3.start();
System.out.println("是否激活:"+Thread.currentThread().isAlive());
Thread.currentThread().sleep(5000);
System.out.println("还能执行到我?");
}
}
class MyThread implements Runnable{
private int ticket=10;
private boolean flag=true;
public void run(){
for(int i=0;i<20;i++){
if(this.ticket>0){
if(Thread.currentThread().getName().equals("我是1线程")){//判断如果是线程1
if(flag){//如果是true,线程的终止
System.out.println("卖票:ticket"+this.ticket--+"--->"+Thread.currentThread().getName());
System.out.println(flag);
flag=false;
}
}else{
System.out.println("卖票:ticket"+this.ticket--+"--->"+Thread.currentThread().getName());
}
}
}
}
}
主线程和其他线程的执行都是并列的。并没有先后之分。不会以为主线程的消亡,子线程也消亡。除非你设置子线程是主线程的守护线程。一般默认开启一个线程都是非守护线程的。
相关推荐
一旦轮到它来享用CPU资源时,就可以脱离创建它的主线程独立开始自己的生命周期了。另外原来处于阻塞状态的线程被解除阻塞后也将进入就绪状态。 3. **运行状态**:当就绪状态的线程被调度并获得处理器资源时,便...
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 38 57、介绍Collection框架的结构 43 58、Collection框架中实现比较要实现什么接口 43 ...
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 38 57、介绍Collection框架的结构 43 58、Collection框架中实现比较要实现什么接口 43 ...
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 38 57、介绍Collection框架的结构 43 58、Collection框架中实现比较要实现什么接口 43 ...
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 42 57、介绍Collection框架的结构 47 58、Collection框架中实现比较要实现什么接口 47 ...
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 38 57、介绍Collection框架的结构 43 58、Collection框架中实现比较要实现什么接口 43...
56、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 38 57、介绍Collection框架的结构 43 58、Collection框架中实现比较要实现什么接口 ...
因此,如果你的主线程没有直接接收信号,而是另一个线程(如onMessage线程)接收到了,那么你的信号处理器可能不会被调用,或者不是按照预期的方式工作。 为了解决这个问题,你需要确保信号被正确地安装在所有相关...
- **设计理念**:为了保证UI响应性和程序稳定性,限制UI组件的操作只在主线程中执行。 - **优势**:简化并发编程的复杂度,降低开发难度。 #### 18. Android中的内存管理 - **垃圾回收机制**:定期清理不再使用的...