线程
lihang212010
虽然我的昵称不是csdn的第一个lihang但是我的域名是csdn的第一个lihang
展开
-
java线程池
网上的线程池多数是教学很少有直接表达线程池怎么用的,有代码量也有点大,其实线程池几行代码就可以表达 public class Main { public static void main(String[] args) { ThreadPoolExecutor threadPoolExecutor=new ThreadPoolExecutor(1, 1,0L, TimeUni...原创 2020-01-16 16:00:39 · 12526 阅读 · 0 评论 -
多线程(超过2个)轮流输出的多数问题
先说要求吧,3个线程轮流输出abc,先来种最常见的代码,这种代码和大多数博客上的相似原理一样,不管是syn还是lock差不多都是这个原理 共享变量 public class Share { int num=1; //线程数量 } 线程 public class Thread1 extends Thread { private Share share; private i...原创 2020-01-15 17:41:32 · 12918 阅读 · 0 评论 -
java线程篇-线程基本使用方法
题外话,最近看了本java多线程编程核心技术,有做了一次安卓的项目开发,在安卓中那些乱糟糟的线程最后我也不知道是怎么把他们弄得能运行的,玄学啊 ,安卓的线程真的不能在吐槽了,总之,因为这些原因,我准备写7篇左右的java线程方面知识,当然每篇内容不会太多了,毕竟线程知识量其实不大,这篇是基础论,稍微懂线程的就可以跳过了,谢谢。 首先,java的线程其实有4中创建方式,但是有2种非常偏,几乎没人用,...原创 2019-08-14 17:24:03 · 14732 阅读 · 0 评论 -
java定时器 简单使用
java计划任务基本大家都用过,尤其是spring的@Schedule,简直方便的不行不行的。 很巧,他的原型也是Schedule,属于线程里的吧。 使用方法非常简单,废话不多说,直接演示下。 import java.util.Date; import java.util.TimerTask; public class Task extends TimerTask{ @Override p...原创 2019-08-23 16:19:24 · 13476 阅读 · 0 评论 -
synchronized的弊端
synchronized能解决线程安全问题大家都知道,大多数线程问题也都是他解决的,但是他有一个致命的弊端,就是慢 synchronized标记的方法是按顺序执行的,如下代码 public class demo1 extends Thread{ @Override synchronized public void run() { try { System.out.println(Threa...原创 2019-08-20 02:19:41 · 14083 阅读 · 1 评论 -
java线程ReentrantReadWriteLock使用
Lock线程有的效率不高,为了提高效率,可以使用ReentrantReadWriteLock 这个类有2种线程,读线程和写线程。 读线程和读线程不同步,写线程和读线程同步,写线程和写线程同步 如果需要通过可以使用写线程,不需要就使用读线程了 这三种情况我做个例子 读与读 import java.util.concurrent.locks.ReentrantReadWriteLock; publ...原创 2019-08-23 19:12:53 · 13454 阅读 · 0 评论 -
java不安全的线程和如何正确关闭线程
我先简单举一个线程不安全的例子 大家请自觉把i–当作银行取款过程,基本所有线程例子都是以银行取款为例,因为银行取款是最需要安全的线程的了 public class demo1 extends Thread{ private int i=10; @Override public void run() { i--; //想等于一次取款过程 System.out....原创 2019-08-15 01:07:39 · 14561 阅读 · 0 评论 -
Java线程通信
我先提出一个例子 接力赛,A,B为一组,A跑的时候BC等待接力棒,B跑的时候AC等待他们没人每轮跑300米,总共跑1200米 其实把ABC当做线程,这便是一个线程通信的例子。 wait(); 使执行的线程进行等待 notify(); 使停止的线程继续运行, join(); 使所属线程正常执行run方法,而当前线程暂时阻塞,有排队的作用 notify与no...原创 2019-08-21 23:26:20 · 13117 阅读 · 0 评论 -
java线程Lock的使用,2个线程循环输出100
java5提出了Lock对象,比起synchronized,Lock对象特别灵活 先说下Lock的基本方法 lock() 获得锁 unlock() 释放锁 这2个方法其实就是Lock比之前线程的灵活之处,我们一般的线程只有wait可以释放锁,使用的时候还比较苛刻,而Lock释放锁的方法十分简单 另外 Condition是Lock中使用等待/通知的类使用方法如下 Lock ...原创 2019-08-23 15:03:39 · 13590 阅读 · 0 评论