通信

线程间的通信

扶醉桌前 提交于 2020-03-01 16:35:53
一,概述。    1.什么叫做线程间通信: 在1个进程中,线程往往不是孤立存在的,线程之间需要一些协调通信,来共同完成一件任务。也就是通过一定的方法来实现线程间的“交流”。   2.线程间通信的体现:     - 1个线程传递数据给另1个线程     - 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 二,线程通信的方法。    Object类中相关的方法有两个notify方法和三个wait方法:notify() / notifyAll() / wait()   因为wait和notify方法定义在Object类中,因此会被所有的类所继承。这些方法都是 final 的,即它们都是不能被重写的,不能通过子类覆写去改变它们的行为。    1.wait()方法。     语法:锁对象.wait()   特点:wait()方法的调用使得当前线程必须要等待,直到另外一个线程调用notify()或者notifyAll()方法。      wait()方法的调用必须在同步的前提下。(因为该方法是要用锁对象调用,而只有在同步的情况下才有锁)      wait()方法的调用会导致锁的释放。   线程调用wait()方法,释放它对锁的拥有权,然后等待另外的线程来通知它(通知的方式是notify()或者notifyAll()方法),这样它才能重新获得锁的拥有权和恢复执行。要确保调用wait(

JUC学习之生产者消费者案例(Condition方式)

▼魔方 西西 提交于 2020-03-01 16:12:12
一、简介 上一篇我们介绍了使用传统的synchronized结合wait()/notifyAll()线程通信机制实现了生产者消费者案例,并且介绍了多线程交互中常见的虚假唤醒现象。我们都知道,Lock同步锁其实可以代替synchronized完成同步功能,并且使用起来还没有那么复杂,本文将介绍如何使用Lock实现生产者消费者案例。 下表是synchronized和Lock实现线程通信方法的区别: synchronized Lock wait() await() notifyAll() signalAll() Lock结合Condition可以替代synchronized实现同步功能,JDK官网介绍如下: 并且官网也给了Condition的使用示例: class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notFull = lock.newCondition(); final Condition notEmpty = lock.newCondition(); final Object[] items = new Object[100]; int putptr, takeptr, count; public void put(Object x) throws

2020-03-01

给你一囗甜甜゛ 提交于 2020-03-01 14:15:06
我家的组网方案有不同的想法可以讨论一下 家里两条宽带移动电信都是100m 因为08年盖的房子就预埋了一根网线一楼移动进华为桥接光猫直连华为FAT AP3010dnv2拨号上网开启2.4g和5g同频 二楼电信宽带动态ip 连接小米路由3 双频 二楼另一件房间水星路由300R无线桥接到小米路由器上 然后lan口分别连接电脑和网线面板楼上客厅的小米电视有一根网线和网线面板连通 接网线看电视另外家里还有些多的设备 两个TP路由742n一个华为千兆交换机s1700 8g ac 目前情况是一楼信号能全覆盖连5g移动宽带能跑满12Mb/s 楼上的小米能跑到10Mb/s 水星路由能跑6Mb/s 电脑和电视测速7Mb/s 来源: CSDN 作者: luxury97 链接: https://blog.csdn.net/luxury97/article/details/104589663

初识网络

[亡魂溺海] 提交于 2020-03-01 13:21:05
首先我们需要了解一下计算机网络的发展史,但是没什么营养,在这就不详述了,想要了解的戳这里👇: -----> 互联网的发展史 。 正文开始 网络划分 按照覆盖范围分为三类: 局域网LAN : 计算机数量更多了, 通过交换机和路由器连接在一起; 特点:安装便捷、成本节约、扩展方便,局域网是一种私有网络,一般在建筑物内或建筑物附近,比如家庭、办公室或工厂。 范围:一般在10km以内 城域网MAN :是在一个城市范围内所建立的计算机通信网; 特点:网中传输时延较小,它的传输媒介主要采用光缆,传输速率在100兆比特/秒以上。 范围:一般在10km~100km范围内 广域网WAN : 将远隔千里的计算机都连在一起; 特点:连接不同地区局域网或城域网计算机通信的远程网; 范围:一般从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,国际性的远程网络。 协议 看看百度怎么解释协议:戳这里👇---> 协议 协议:使用一种共同的语言来进行有效的沟通,通信双方为了通信进行的约定。 网络协议:在网络中,通信双方对数据交换和数据传输作出的约定,是网络互联的一个前提。 计算机中的协议很多,很多协议联系在一起称之为 协议簇 在协议簇中,各个协议之间的相互关系和协议需要完成的任务,称之为 参考模型 或 体系结构 协议分层:协议的分层就是一种封装,对不同的服务或者协议进行封装。

常用vue组件通信方式详解(props、emit、eventbus、vuex)-逆战班

久未见 提交于 2020-03-01 11:56:18
常用vue组件通信方式详解 相信对于很多初学者来说,学习vue中最麻烦的地方就是处理组件间的通信了,组件间通讯的方法有很多种,有 children 、 parent 、 依赖注入 、 href 、语法糖v-model甚至可以通过 cookie 、 localStorage 等方法,这里就不做讲解,接下来就详解几个最常用的vue中的组件通信方式 父传子:props < div id = "box" > < my - child : passdata = "data" > < / my - child > < -- data为父组件中的数据 -- > < / div > //my-child组件中 props : [ "passdata" ] 在父组件中通过向子组件添加自定义属性,属性值为父组件中的变量,在子组件中通过==props:[“自定义的属性名”]==来获取父组件中传递过来的数据data 子传父:$emit < div id = "box" > < my - child @event = "handleEvent" > < / my - child > < -- handleEvent为父组件中的事件不推荐写参数会变得多此一举 -- > < / div > //子组件中 < button @click = "passdata()" > 点击 < / button >

金融分布式账本技术安全规范

本秂侑毒 提交于 2020-03-01 09:48:40
《金融分布式账本技术安全规范》是2020年最新发布的中国金融行业技术规范,从基础软件、 密码算法、节点通信、账本数据、共识协议、智能合约、身份管理、隐私保护、监管支撑、 运维要求、治理机制等多方面对区块链技术在金融行业的应用提出了要求。 百度云链接: https://pan.baidu.com/s/1HiNPXQVqyYNhybiKmf9lag 提取码: dx3a 来源: oschina 链接: https://my.oschina.net/u/3843525/blog/3182732

Windows线程+进程通信

丶灬走出姿态 提交于 2020-03-01 08:15:48
一 Windows线程进程 1)定义 按照MS的定义, Windows中的进程简单地说就是一个内存中的可执行程序, 提供程序运行的各种资源. 进程拥有虚拟的地址空间, 可执行代码, 数据, 对象句柄集, 环境变量, 基础优先级, 以及最大最小工作集. Windows中的线程是系统处理机调度的基本单位. 线程可以执行进程中的任意代码, 包括正在被其他线程执行的代码. 进程中的所有线程共享进程的虚拟地址空间和系统资源. 每个线程拥有自己的例外处理过程, 一个调度优先级以及线程上下文数据结构. 线程上下文数据结构包含寄存器值, 核心堆栈, 用户堆栈和线程环境块. 2) 如下图: 3)线程与进程的关系 线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。 在多中央处理器的系统里,不同线程可以同时在不同的中央处理器上运行,甚至当它们属于同一个进程时也是如此。 4) 进程和线程的区别   (1)、进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、外部设备;线程只是处理机调度的基本单位,它只和其他线程一起共享资源,但自己没有任何资源。   (2)、以进程为单位进行处理机切换和调度时,由于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低

Linux网络基础IP、端口、协议

我们两清 提交于 2020-03-01 06:10:55
网络发展史 独立模式:计算机之间相互独立。 网络互联: 多台计算机连接在一起,完成数据共享。 局域网LAN:计算机数量更多了, 通过交换机和路由器连接在一起。 广域网WAN:将远隔千里的计算机都连在一起。 所谓 “局域网” 和 “广域网” 只是一个相对的概念。 IP IP地址:网络中一个主机的编号。 唯一标识 一台主机。 类型:uint32_t (无符号4个字节的一个数字) IP地址的数量是有限的。不到43亿。 多个主机使用同一个IP地址传输数据,在每一个网关设备(路由器)上进行地址转换,路由器使用自己的地址将数据发送出去,别人就会将数据回复到路由器上,然后路由器再回复给主机。 因此在每一个网关设备上的网络地址转换之后,才能实现共用IP地址通信的操作。 网络地址转换的技术就叫做 NAT技术 。 在当前IP地址不够用的情况下,实现大众互联网络通信就是 通过IP地址动态分配DHCP技术 以及地址转换技术实现。 IPV4 :DHCP-动态地址分配。谁上网给谁分配IP地址,不上网就不分配。 IPV6 :一个IP地址有128位。并不向前兼容IPV4,因此IPV6推广非常缓慢。 IP地址保证数据能从一个主机发送到另一个主机(ip地址是网络中主机的标识)。 但是数据到达对端主机之后,如何保证qq的数据就是qq进行处理,而不是别的程序处理?

Vue组件通信应知必知

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-01 03:41:54
前言 本章我们来学习Vue组件通信中的可以算是所有内容,在此之前,您最好掌握Vue的基础语法、指令等内容,同时也建议您查看我其他的文章进行补充。 组件通信 父子组件关系 通过上图顺带给大家说明了父子组件的实现原理,以及组件间传值传DOM的实现思路,那么我们看看Vue的代码来感受一下 父向子传值 模板部分(此处传值也能使用组件内的变量) <div id="app"> <!-- 传递一个字符串常量haha --> <son v-bind:text="'haha'" /> </div> js部分 // 子组件 var Son = { // 要接收的字段名称 props:['text'], template:` <div> {{ text }} </div>` }; Vue.component('son',Son); // 父组件 new Vue({ el:'#app' }); 显示结果很显然是子组件的haha 子向父通信 试想一种情况,由父组件控制子组件的显示,而从子组件中点击X来实现子组件的隐藏,那么实际的控制权确实在父组件 要处理这个问题,大家第一反应应该就是相当通过子组件的点击事件,拿到父组件内控制显示与隐藏的变量并更改就可以了 代码如下 // 隐藏按钮点击函数 methods:{ clickChild(){ this.$parent.isShow = false; } }

javase个人学习总结(十一)网络通信tcp,udp,url

安稳与你 提交于 2020-03-01 03:29:14
网络通信Tcp,udp,url 1.url统一资源定位符 格式:协议/主机名/端口号/资源地址/参数列表(加密) 2.getXxx根据见名知义调用这些结构, 3.Tcp:先建立连接,不会丢包,为了建立可靠连接,客户端和服务器会进行三次握手四次挥手 4.Udp:不事先建立连接,会丢包,只管发送不考虑是否成功接收 5.IP和端口号: IP:是计算机在Internet上的唯一标识(通信实体),分为ipv4,ipv6,ipv4快要用完了,ipv6字段更多; 端口号:表示计算机上正在运行的进程,16位数,其中IP+端口号构成一个网络套接字socket;域名:www.baidu.com 因为域名更容易实际,所以一般在网络中输入域名,通过dns解析出对应的ip地址,与主机建立连接 6.网络通信协议:TCP/IP参考模型(应用层,传输层,网络层,物理+数据链路层) 7.5/6提供了解决网络通信的的问题解决思路 8. 来源: CSDN 作者: JZ20 链接: https://blog.csdn.net/jz6666jz/article/details/104579764