栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > Java面试题

synchronized关键字的线程同步实现方法

Java面试题 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

synchronized关键字的线程同步实现方法

线程不同步时class SellThread implements Runnable{ int tickets=10;//总票数public void run(){while(true){ if(tickets>0){ try{ Thread.sleep(10); //当前正在执行线程睡眠一会}catch(Exception e){ e.printStackTrace();}System.out.println (Thread.currentThread ().getName ()+"Selltickets:"+tickets);tickets-- ;}} } }public class Ticket {//主类public static void main(String args[ ]){ SellThread st=new SellThread();new Thread(st). start(); new Thread(st). start();new Thread(st). start(); new Thread(st). start();}}方法级线程同步class SellThread implements Runnable{ int tickets=10;//总票数public void run(){while(true){ this.sell();} }public synchronized void sell(){//同步方法if(tickets>0){ try{ Thread.sleep(10); //当前正在执行线程睡眠一会}catch(Exception e){ e.printStackTrace();}System.out.println (Thread.currentThread ().getName ()+"Selltickets:"+tickets);tickets-- ;}}}public class Ticket {//主类public static void main(String args[ ]){ SellThread st=new SellThread();new Thread(st). start(); new Thread(st). start();new Thread(st). start(); new Thread(st). start();}}对象级线程同步class SellThread1 implements Runnable{ int tickets=10;//总票数public void run(){while(true){ synchronized(this){if(tickets>0){ try{ Thread.sleep(10); //当前正在执行线程睡眠一会}catch(Exception e){ e.printStackTrace();}System.out.println (Thread.currentThread ().getName ()+"Selltickets:"+tickets);tickets-- ;}}} } }public class Ticket1 {//主类public static void main(String args[ ]){ SellThread1 st=new SellThread1();new Thread(st). start(); new Thread(st). start();new Thread(st). start(); new Thread(st). start();}}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/264073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号