多线程
文章平均质量分 67
95年的巨蟹
机械boy
展开
-
多线程:wait()及sleep()的个人理解
1.了解线程的生命周期线程生命周期,总共有五种状态:1)新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();2) 就绪状态(Runnable):当调用线程对象的start()方法(t.start()),线程即进入就绪状态。处于就绪状态的线程,只是说明此线程已经做好了准备,随时等待CPU调度执行,并不是说执行了t.start()此线程立即就会执行;(注:t.run()方法只是执行run方法,并不是启动线程)3) 运行状态(Runni原创 2021-04-24 19:29:38 · 577 阅读 · 0 评论 -
多线程:死锁概念、预防及检查方式
1.死锁概念多个线程由于相互抢夺资源进入僵持状态,无法继续推进执行的状态;举例:a线程拿着锁a,在等待获取锁b;b线程拿着锁b在等待获取锁a;两个线程僵持,无法继续执行,即为死锁;2.死锁代码实现public static void main(String[] args) { Object a=new Object();//a b对象 当两把锁 Object b=new Object(); //a线程 Thread ta=new原创 2021-04-18 15:09:25 · 163 阅读 · 1 评论 -
多线程:简单了解几种常见的线程池
接口原创 2021-04-04 13:01:53 · 424 阅读 · 0 评论 -
多线程:用4 个线程,2个使j自增,两个使j自减;
题目设计4 个线程,其中两个线程每次对j 增加1,另两个线程对j 每次减少1;写出程序。1.思路:1.根据题意,要保证他们操作同一个j;所以可以操作同一个实例变量;(并且保证后续四个线程使用同一把锁);2.首先要创建四个线程;使用实现runnable接口的方式;两个想线程调用增加方法;两个调用减少方法;3.要保证四个线程共同操作一个实例变量(题目隐含条件,肯定不能乱,要一个线程一个线程的操作);那么,使用synchronized修饰方法(synchronized修饰普通方法,相当于锁this,这原创 2021-04-03 13:31:36 · 759 阅读 · 0 评论 -
多线程:使用两个线程交替打印数字和字母
题目使用两个线程,一个打印数字,一个打印字母;交替打印,实现打印 1A2B3C4D;1.思路说明:1.1 要想实现双线程交替打印,首先得创建两个线程;使用实现runable接口方式创建两个线程;重写run方法,执行打印;1.2 两个线程交替打印,是一种同步思想,需要让两个线程持有同一把锁(交替持有),可以利用synchronized修饰普通方法(相当于锁this对象,实现了两个线程同一把锁);1.3 两个线程交替持有锁,持有锁的那个进行打印;没有锁的那个的等待;可以定义布尔类型变量控制实现反转;原创 2021-04-03 12:54:12 · 3740 阅读 · 0 评论