
多线程
shn1994
这个作者很懒,什么都没留下…
展开
-
实现多线程的方式1-继承Thread 类
package com.shn.juc.thread;//子线程和主线程都打印1-100的输出public class ExtendThreadClass { public static void main(String[] args) { //创建子类的对象 SubThreadDemo subThreadDemo = new SubThreadDemo(); subThre...原创 2018-10-31 22:40:16 · 221 阅读 · 0 评论 -
继承Thread和实现Runnable方式的两种对比
实现Runnable方式要比继承Thread方式好①避免单继承的局限性 ②如果需要多个线程处理同一资源(共享数据),Threrad方式变量需要static修饰注意:synchronized同步代码块的时候,线程安全地问题,所有的线程需要共用一把锁package com.shn.juc.thread;// 模拟火车站售票窗口:三个窗口一共100张票public class Wind...原创 2018-11-01 11:32:48 · 318 阅读 · 0 评论 -
synchronized关键字
1:同步代码块syschronized(同步监视器(锁)){ 操作共享数据的代码}同步监视器(锁):由一个类的对象来充当,哪个线程获取锁,谁就执行同步的代码块。要求:所有的线程必须公用同一把锁!(在实现Runnable,可以用this充当锁,在继承中,小心使用this,可能会导致线程用的并不是同一把锁)2:同步方法操作共享数据的方法声明为synchronized,同步方法的锁...原创 2018-11-01 15:42:46 · 115 阅读 · 0 评论