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

花都区手机版网站建设站长之家是什么网站

花都区手机版网站建设,站长之家是什么网站,wp做网站需要多久,贵州发布疫情最新消息什么是进程: 你把它理解成一个软件 什么是线程: 你把它理解成软件里面的一个功能,做的事情 什么是多线程: 你把它理解成 软件里面的某一个功能,原先是一个人累死累活的在那里完成,现在好了,多…

什么是进程:

        你把它理解成一个软件

什么是线程:

        你把它理解成软件里面的一个功能,做的事情

什么是多线程:

        你把它理解成 软件里面的某一个功能,原先是一个人累死累活的在那里完成,现在好了,多个人一起完成,轻松又快活

什么是线程不安全:

        你把它理解成  软件里面的某一个功能,原先是一个人累死累活的在那里完成,虽然累,但是,数据不会出错,但是现在多个人一起来弄,结果,张三读取的数据是被李四修改过的数据,不是最新的数据,这样就是线程不安全的

什么是线程安全:

         你把它理解成  软件里面的某一个功能,原先是一个人累死累活的在那里完成,虽然累,但是,数据不会出错,但是现在多个人一起来弄,我让你们排好队,一个一个,有序的来操作数据,如果有人正在操作,我就让你在外面等着,必须等前面的人做完了自己的事情,你才能进去

什么是并行:

        你把它理解成  软件里面的某一个功能,同时进行多个任务

什么是并发:

        你把它理解成 软件里面的某一个功能,一下子来了很多请求,如果不处理,会导致程序宕机,卡死等

线程不安全和线程安全,

针对ArrayList   HashSet  HashMap 来进行举例

ArrayLists 线程不安全  ;  Vector、Collections 、CopyOnWriteArrayList 线程安全

HashSet  线程不安全   ; CopyOnWriteArraySet 线程安全

HashMap 线程不安全   ; ConcurrentHashMap 线程安全

下面用代码的方式,来进行模拟一下多线程,

需求:四位售票员进行卖票操作,加锁

package com.japhet.util;//卖票
class Ticket{//总票数private int ticket = 3000;//卖票逻辑递减public synchronized void seal(){if(ticket<=0){return;}ticket--;System.out.println(Thread.currentThread().getName()+"票还剩余"+ticket);}}public class ThreadUtils {public static void main(String[] args) {Ticket ticket = new Ticket();//售票员1进行卖票new Thread(new Runnable() {@Overridepublic void run() {for (int i = 0; i < 4000; i++) {ticket.seal();}}},"AA").start();//售票员2进行卖票new Thread(new Runnable() {@Overridepublic void run() {for (int i = 0; i < 4000; i++) {ticket.seal();}}},"BB").start();//售票员3进行卖票new Thread(new Runnable() {@Overridepublic void run() {for (int i = 0; i < 4000; i++) {ticket.seal();}}},"CC").start();//售票员4进行卖票new Thread(()->{for (int i = 0; i < 4000; i++) {ticket.seal();}},"DD").start();}
}

下面用代码的方式,来进行模拟一下线程之间的通讯,

需求:因为是多线程,当11线程抢到资源,执行完自己的程序之后,他是不知道下一次会是谁成功的抢到资源,那我可以进行设置谁能抢到资源 (通过 await 等待   signal 通知某个线程执行),这里就让11线程执行了就让22线程去执行,22线程执行了就让33线程去执行,33线程执行了,就让11线程执行,依次循环10次这个动作

package com.japhet.util;import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;class Srouce{
//    线程标识private int temp = 1;//    锁private Lock lock =  new ReentrantLock();//    三个线程private Condition condition1 = lock.newCondition();private Condition condition2 = lock.newCondition();private Condition condition3 = lock.newCondition();public void test(){lock.lock();try {while (temp!=1){//防止虚假唤醒,所以得用while循环condition1.await();}System.out.println("线程1111进来了");temp = 2;//修改标识,condition2.signal();//通知线程2去干活}catch (Exception e){e.printStackTrace();}finally {lock.unlock();}}public void test2(){lock.lock();try {while (temp!=2){//防止虚假唤醒,所以得用while循环condition2.await();}System.out.println("线程2222进来了");temp = 3;//修改标识,condition3.signal();//通知线程2去干活}catch (Exception e){e.printStackTrace();}finally {lock.unlock();}}public void test3(){lock.lock();try {while (temp!=3){//防止虚假唤醒,所以得用while循环condition3.await();}System.out.println("线程3333进来了");temp = 1;//修改标识,condition1.signal();//通知线程2去干活}catch (Exception e){e.printStackTrace();}finally {lock.unlock();}}
}public class ThreadUtils2 {public static void main(String[] args) {Srouce srouce = new Srouce();new Thread(()->{for (int i = 0; i < 10; i++) {srouce.test();}},"11").start();new Thread(()->{for (int i = 0; i < 10; i++) {srouce.test2();}},"22").start();new Thread(()->{for (int i = 0; i < 10; i++) {srouce.test3();}},"33").start();}}

http://www.zhongyajixie.com/news/33286.html

相关文章:

  • 长春网站建设费用推广营销是什么
  • 聚企360做的网站足球比赛统计数据
  • 代理什么产品好做挣钱外贸网站seo推广教程
  • html网站开发实例成功的网络营销案例ppt
  • 购物商城起名有利于seo优化的是
  • 魔客吧是什麼程序做的网站360建站官网
  • 彩票投注网站怎样做微信卖货小程序怎么做
  • 用asp做的网站下载百度网盘app
  • 网站开发 总结报告广东疫情最新通报
  • 东莞大型网站建设公司企业如何做网络推广
  • 电子商务网站前台建设常用的技术长沙seo优化排名
  • 农业电商网站建设方案广告推广软文案例
  • 广州淘宝网站建设seo教程网
  • 国外设计网站behance打不开seo的关键词无需
  • 百度seo快速排名长春网络优化最好的公司
  • 长沙点梦网站建设近期重大新闻
  • 建立视频网站要多少钱企业关键词优化价格
  • 百度推广效果不好怎么办seo职位具体做什么
  • 什么网站可以做长图南宁百度快速排名优化
  • laravel 做中英文网站广东省自然资源厅
  • 销售客户管理软件哪个好冯宗耀seo教程
  • 丹东做网站的公司百度官网认证免费
  • 做电影网站挣钱吗市场监督管理局是干什么的
  • 网站的关键词怎么设置新品推广活动方案
  • jsp网站建设模板百度推广运营这个工作好做吗
  • vue做移动端网站与pc端有什么区别香水推广软文
  • 找别人做网站一般注意什么百度一下了你就知道官网
  • 美橙互联网站模板游戏app拉新平台
  • 做只在自己电脑上的网站网站推广模式
  • 网站设计人员就业要求百度区域代理