java一个异步方法,创建了一个线程。
这个线程一定会执行么?
有没有可能阻塞或者没执行?
如果这个线程没有执行,有没有什么办法保证他一定执行呢?
如果使用的线程池呢?
怎么保证他必定执行?
不是线程不退出, 而是线程有没有被启动
java一个异步方法,创建了一个线程。
这个线程一定会执行么?
有没有可能阻塞或者没执行?
如果这个线程没有执行,有没有什么办法保证他一定执行呢?
如果使用的线程池呢?
怎么保证他必定执行?
不是线程不退出, 而是线程有没有被启动
正常来讲,线程创建之后如果调用start方法.是一定会被执行的,被阻塞是执行之后被强行暂停,而不是不启动,除非你不用start方法去启动它
线程池中有一个方法是限制最大线程数,如果创建的线程多余最大线程数,那么多余的会等待现有的线程执行完毕,但是我觉得这种情况哪些等待的线程也是启动了的,即使线程池关闭也没有用上它们,但是它们依然是启动了的,只是出于等待模式,就像一堆人排队买一样东西,比如这个东西卖到某个人的时候卖完了,那么剩下的人自然就解散了,也就相当于线程的死亡,但是这个前提是你得去排队,排队的过程也是在运行,如果你在家呆着,不去排队,那你就不在列表中
这只是我个人的理解,至于具体的你可以上网查一些相关资料