
正文
go语言main函数退出,go main函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎样在main()函数退出之后再执行一段代码
这个要求很奇怪,一方面从执行顺序角度来看,为什么它就不能是“main函数在你认为该退出的时候,多执行一段代码再退出”?这和你的要求是等价的。如果你非要满足这样奇怪的要求的话,那就只有在main函数退出之前,开启一个新进程,执行你要执行的后续代码,然后main退出,那段代码会在新进程中执行。
相关问答
Q1: 如何直接结束main函数
java中:System.exit(1);
C++中:return 1;或者exit(1),只是要包含stdlib.h
Q2: 如何在Main函数中,执行完异步任务后才退出主线程
要实现这个情况,必须知道以下几点
1、java中线程的结束是由run方法运行完成后自动结束的
2、在main线程(主线程)中,需要得到所有线程的引用。
3、知道jdk提供的CountDownLatch的用法
例子如下:
public static void main(String[] args) throws InterruptedException
{
//CountDownLatch作为计数器纪录有几个线程,例如有2个线程
CountDownLatch latch=new CountDownLatch(2);
Worker worker1=new Worker( latch);
Worker worker2=new Worker(latch);
worker1.start();// 启动线程
worker2.start();//
//等待所有工人完成工作
latch.await();
System.out.println("all work done at "+sdf.format(new Date()));
}
class Worker extends Thread
{
private CountDownLatch latch;
public Worker(CountDownLatch latch)
{
this.latch = latch;
}
public void run()
{
xxxxx
//在run方法结束之前,讲线程计数器减一
latch.countDown();
}
}





