当前位置: 首页 > news >正文

爱站网appwordpress采集插件 中文

爱站网app,wordpress采集插件 中文,个人求职网页制作,网站的排版问题文章目录synchronized 锁有两种synchronized异常捕获主线程和子线程volatile的作用notify是随机启动等待线程中的一个synchronized 锁有两种 类对象类的实例 第一种#xff1a;锁类对象#xff0c;有两种方式#xff0c;如下#xff1a; // 方法一#xff1a;synchroni… 文章目录synchronized 锁有两种synchronized异常捕获主线程和子线程volatile的作用notify是随机启动等待线程中的一个synchronized 锁有两种 类对象类的实例 第一种锁类对象有两种方式如下 // 方法一synchronized 修饰static方法 public static synchronized void test(){System.out.println(Thread.currentThread().getName() start );try {TimeUnit.SECONDS.sleep(2);} catch (Exception e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() end ); } // 方法二synchronized锁class对象 public void test2(){synchronized (getClass()) {try {TimeUnit.SECONDS.sleep(2);} catch (Exception e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() run );} }public static void main(String[] args) {TestThread10 t new TestThread10();new Thread(()-TestThread10.test(),线程 1 ).start();new Thread(()-t.test2(),线程 2 ).start(); }其结果如下 在线程1也就是先启动线程1且等线程1走完才执行线程2 锁类就可以理解为在类对象上加了一把锁所有加锁的方法都需要等待上一把锁的释放才能执行 第二种类的实例 只要对同一个实例对象加锁了才能实现线程同步如下 public void test2(){synchronized (this) {try {TimeUnit.SECONDS.sleep(2);} catch (Exception e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName() run );} }synchronized异常捕获 使用synchronized的时候出现异常一定要处理不然他会自动释放锁 它的机制是手动加锁自动释放锁。下面看一个例子在异常的地方一定要处理异常不然就会想下面代码中的线程1会被释放掉。 private Integer c 0;Override public void run() {count(); }private synchronized void count(){System.out.println(Thread.currentThread().getName() start。。。);while (true) {System.out.println(Thread.currentThread().getName() countc);try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}if (c 5) {int i 1/0;}}}public static void main(String[] args) {TestThread3 t new TestThread3();Thread t1 new Thread(t, 线程 1);Thread t2 new Thread(t, 线程 2);t1.start();t2.start(); } 主线程和子线程 线程分用户线程和守护线程 main方法其实是一个主线程在操作系统启动java.exe后是开启了一个进程然后进程启动main线程main线程有启动其他线程。 守护线程和主线程一起结束主线程结束守护线程也结束用户线程非守护线程但所有的用户线程结束主线程结束 t2.setDaemon(true); t2.start();volatile的作用 可以看这位博主的博客Java中Volatile关键字详解 - 郑斌blog - 博客园 (cnblogs.com) 它有两个功能 线程间的可见性防止指令重排序 注意 可见性不代表原子性它只是能够让其他线程能够实时查看到最新值而其他操作它不保证。 指令重排序这个有点深奥可以先暂时忽略 notify是随机启动等待线程中的一个 notify是随机启动等待线程中的一个并且跟线程优先级无关且 wait和notify方法要在同一把lock的情况下使用还有一点是lock.wait 阻塞还后会把锁让出给需要的线程然而在其他线程执行完后调用lock.notify()唤醒等待的线程但是在当前锁里的代码没执行完不会释放掉锁。 简单场景模拟 一个固定容量同步容器拥有put和get方法以及getCount方法能够支持两个生产者线程以及10个消费者线程的阻塞调用。 public class TestThread8 { private final LinkedList list new LinkedList();private final int MAX 10;private int count 0;public synchronized void put(Object o) {while (list.size() MAX) {try {// 在这里等待的那个调用notify时会从这里继续执行this.wait();} catch (InterruptedException e) {e.printStackTrace();}}list.add(o);count;// 启动所有线程包括生产者随机的this.notifyAll(); }public synchronized void get() {while (list.size() 0) {try {this.wait();} catch (InterruptedException e) {e.printStackTrace();}}list.removeLast();count--;this.notifyAll(); }public int getCount() {return list.size(); }public static void main(String[] args) {TestThread8 t new TestThread8();for (int i 0; i 2; i) {new Thread(() - {int j 0;while (true) {t.put(Thread.currentThread().getName() put t.getCount());System.out.println(Thread.currentThread().getName() put t.getCount());}}).start();}for (int i 0; i 10; i) {new Thread(() - {while (true) {t.get();System.out.println(Thread.currentThread().getName() get t.getCount());}}).start();} } }
http://www.w-s-a.com/news/5332/

相关文章:

  • 网站建设销售的技巧话语it培训机构
  • 自建本地网站服务器wordpress南充房产网最新楼盘最近房价
  • 郑州代做网站天津哪里能做网站
  • 网站如何做排名网站建设项目的工作分解
  • 洛阳网络建站公司网站开发主流语言
  • 广州各区正在进一步优化以下措施seo值是什么意思
  • 滨州建网站公司京东云 wordpress
  • 网站视频背景怎么做免费的网络推广有哪些
  • 申请网站怎样申请广西壮族自治区专升本业务系统
  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设
  • 怎么查网站是在哪里备案的广州电力建设有限公司网站
  • 做网站自己申请域名还是对方wordpress管理地址
  • 专门做二手书网站或appwordpress首页显示特定分类文章
  • 无锡网站设计厂家一建十个专业含金量排名
  • 网站刷链接怎么做成都高度网站技术建设公司
  • flash网站模板怎么用xml网站地图生成
  • 英文网站优化群晖wordpress中文
  • saas建站平台源码济南品牌网站建设公司
  • 网站建设一般是用哪个软件网站百度
  • 企业建站的作用是什么南宁公司网站开发
  • 厦门网站建设及维护门户网站开发视频教学
  • 可以做兼职的网站有哪些自动点击器永久免费版
  • 建购物网站怎么建呀网站怎么做中英文交互
  • 网站建设费用计入无形资产做网站用的主机
  • 佛山企业网站建设平台沈阳网站建设培训班
  • 河南企业网站优化外包网站怎么做来流量
  • 网站建设的参考文献网站设计网页的优缺点