多线程
Java并发
打不死Gin
打不倒我的将被我打败
展开
-
阿里巴巴建议的线程池创建方式,你用上了吗?
Executor是不建议的Executors类为我们提供了各种类型的线程池,经常使用的工厂方法有:public static ExecutorService newSingleThreadExecutor()public static ExecutorService newFixedThreadPool(int nThreads)public static ExecutorService ...原创 2020-04-05 15:44:01 · 1816 阅读 · 0 评论 -
大多数人不知道的:线程池CallerRunsPolicy()拒绝策略
首先要吐槽一下我这个理解能力,在学习CallerRunsPolicy拒绝策略的时候,搜索了相关的知识,大家都是这么描述的:第1种:第2种:第3种:第4种:汉化版JDK文档他们的描述让我看的很懵逼,特别是第3种,仔细看他的测试代码,并没有用CallerRunsPolicy,而是用的AbortPolicy拒绝策略。。。。这是一篇高浏览量的博文,而且多人转载。其中上面几种情况中写到...原创 2020-04-05 11:10:33 · 44150 阅读 · 25 评论 -
多线程线程安全与synchronized关键字
线程安全问题对于上次的小实例,是强调过不考虑线程安全问题的。如果我们通过调用线程类的sleep()方法,模拟CUP突然暂停对程序A的执行转而执行线程B。这在实际中是有可能发生的。class Shopping implements Runnable { private int num = 10; public void run() { while (true) { if ...原创 2020-03-24 16:45:01 · 239 阅读 · 0 评论 -
Java创建线程的两种方式
1.Thread类新建一个线程很简单,只需要new一个Java为我们封装好的Thread类,并且调用它的start()方法即可。Thread thread = new Thread();thread.start();这里的start()方法会新建一个线程并让这个线程执行run()方法,但是在默认情况下,Thread类中的run()方法“什么都没干”,因此,这个线程一启动就马上结束啦,如果...原创 2020-03-23 18:43:58 · 517 阅读 · 0 评论