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

花都区手机版网站建设网络营销公司热线电话

花都区手机版网站建设,网络营销公司热线电话,宝安最好的网站建设,Wordpress网站转zblog什么是进程: 你把它理解成一个软件 什么是线程: 你把它理解成软件里面的一个功能,做的事情 什么是多线程: 你把它理解成 软件里面的某一个功能,原先是一个人累死累活的在那里完成,现在好了,多…

什么是进程:

        你把它理解成一个软件

什么是线程:

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

什么是多线程:

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

什么是线程不安全:

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

什么是线程安全:

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

什么是并行:

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

什么是并发:

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

线程不安全和线程安全,

针对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.r43.cn/news/79170.html

相关文章:

  • 随州市住房和城乡建设委员会网站搜狐酒业峰会
  • 淄博网站建设企业我想找一个营销团队
  • 仙侠类网页游戏排行榜sem seo
  • 公司网站建设开发维护工作推广软件有哪些
  • 手工做皮具国外的网站做小程序要多少钱
  • 做网站要买数据库软文范例800字
  • 网站设计技术文章百度引流推广怎么做
  • 祁连网站建设公司合肥seo推广公司
  • 黄骅市企业名录杭州seo联盟
  • 代做设计的网站精准防控高效处置
  • 网站描述标签优化seo网页推广
  • 广州知名网站建设后台管理便捷网络营销过程步骤
  • 汕头多语种网站制作网站建设服务商
  • 云服务器网站解析安装百度到桌面
  • wordpress dux1.9惠州市seo广告优化营销工具
  • 个体户做网站有用吗青岛网站开发公司
  • 网站建设行业2017河南公司网站建设
  • 池州专业网站建设怎么样北京快速优化排名
  • 找人合伙做网站平台关键词排名提高方法
  • 徐州个人建站模板全网推广
  • .网站建设风险沧州百度推广总代理
  • 信阳网站建设策划方案发布项目信息的平台
  • 网站建设优化公司招聘北京互联网营销公司
  • 商务咨询公司网站制作模板台州关键词首页优化
  • 南昌做网站开发的公司福州百度网站排名优化
  • lamp网站开发案例分析seo推广主要做什么
  • 你的网站尚未备案 根据东莞疫情最新通告
  • php网站建设案例教程视频教程跨境电商平台推广
  • 网站开发论文说明百度有几种推广方式
  • WordPress神箭手采集seo在线优化技术