Java并发编程 - Go语言中文社区

Java并发编程


Java任务、线程基本概念:

  • 实现Runnable接口:

通过实现Runnable接口创建任务,重写run方法。

// 通过实现接口方式创建任务
public class DemoTask implements Runnable{
    @Override
    public void run() {
        System.out.println("task test:" + new Date());
    }
}
// 通过继承方式创建任务
public class DemoThread extends Thread {
    @Override
    public void run() {
        System.out.println("task test:" + new Date());
    }
}
  • 继承Thread类:

// 通过实现接口方式:
new Thread(new DemoTask()).start();
new Thread(new DemoTask(), "threadName").start();
// 通过继承方式
new DemoThread().start();
  • 实现Callable接口:

public class DemoCallable implements Callable<String> {
    @Override
    public String call() throws Exception {
        return " callable test:" + new Date();
    }
    // 通过ExecutorService执行, 返回Future后通过get()获取返回值
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        ExecutorService executorService = Executors.newCachedThreadPool();
        Future<String> submit = executorService.submit(new DemoCallable());
        System.out.println(submit.get());
        executorService.shutdown();
    }
}

线程状态:

Java内存模型:

线程同步处理:

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u012526194/article/details/98476324
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-27 22:11:59
  • 阅读 ( 547 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢