小程序页面之间进行传值的操作办法
851
2022-10-26
创建线程的方式
继承Thread,这里使用匿名内部类
@Slf4j(topic = "c.Test1") public class Test1 { public static void main(String[] args) { //创建线程对象 Thread t = new Thread(){ @Override public void run() { //要执行的任务 log.debug("running"); } }; //设置线程的名字 t.setName("t1"); //启动线程 t.start(); log.debug("running"); } } /* 19:44:31.998 [main] DEBUG c.Test1 - running 19:44:31.998 [t1] DEBUG c.Test1 - running */
实现Runnable接口,配合Thread类,同样用匿名内部类
把线程和任务分开Thread表示线程Runnable代表可运行的任务
@Slf4j(topic = "c.Test2") public class Test2 { public static void main(String[] args) { Runnable runnable = new Runnable() { @Override public void run() { //要执行的任务 log.debug("running"); } }; //创建线程对象 Thread t = new Thread(runnable, "t2"); //启动线程 t.start(); } } //19:52:27.646 [t2] DEBUG c.Test2 - running
在$java$中,有$@FunctionalInterface$注解意味着该接口只有一个抽象方法,即可以用$lambda$表达式的方式简化
@Slf4j(topic = "c.Test2") public class Test2 { public static void main(String[] args) { Runnable runnable = () -> { //要执行的任务 log.debug("running"); }; //创建线程对象 Thread t = new Thread(runnable, "t2"); //启动线程 t.start(); } }
FutureTask配合Thread
因为FutureTask可以接口一个Callable类型的参数,用来处理有返回值的情况
@Slf4j(topic = "c.Test3")
public class Test3 {
public static void main(String[] args) throws ExecutionException, InterruptedException {
//创建任务对象
FutureTask
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~