网站建设从建立服务器开始,做网站都需要考虑哪些,星链seo管理,同城新闻app有哪些问题#xff1a; 父子线程的关系
今天突然有感而发#xff0c; 想要来探讨一下主线程和子线程之间的关系。
例一#xff1a;子线程执行时间较父线程慢
public class ThreadTest {public static void main(String[] args) {// 测试主线程 和 子线程Thread sonThread new …问题 父子线程的关系
今天突然有感而发 想要来探讨一下主线程和子线程之间的关系。
例一子线程执行时间较父线程慢
public class ThreadTest {public static void main(String[] args) {// 测试主线程 和 子线程Thread sonThread new Thread(() - {try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(子线程结束);});sonThread.start();System.out.println(父线程结束);}
}结果是都进行了执行这说明主线程执行完毕后会等待子线程进行执行完毕后退出。
例二主线程执行的较慢
public class ThreadTest {public static void main(String[] args) {// 测试主线程 和 子线程Thread sonThread new Thread(() - {System.out.println(子线程结束);});sonThread.start();try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(父线程结束);}
}结果也是都进行了执行 而对于Go来说则不一样Go一旦主线程结束协程就会自动的退出
例三 主线程执行的较快
func main() {go func() {fmt.Println(1111)}()fmt.Println(主线程结束)
}如果想要协程执行完才退出的话必须使用阻塞来进行控制。