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

电子商务网站建设的意义是什么意思建设银行网站扫码支付在哪里

电子商务网站建设的意义是什么意思,建设银行网站扫码支付在哪里,wordpress 标签云制作,箱包东莞网站建设并发 什么是并发#xff0c;也就是我们常说的多线程#xff0c;多个程序同时执行。 并发的基础 线程和进程 进程 进程是操作系统中一个重要的概念#xff0c;指的是一个正在运行的程序的实例。它包含程序代码、当前活动的状态、变量、程序计数器和内存等资源。进程是系…并发 什么是并发也就是我们常说的多线程多个程序同时执行。 并发的基础 线程和进程 进程 进程是操作系统中一个重要的概念指的是一个正在运行的程序的实例。它包含程序代码、当前活动的状态、变量、程序计数器和内存等资源。进程是系统进行资源分配和调度的基本单位。 每个进程都有自己的地址空间、数据、堆栈以及其他用于管理其运行的资源。进程之间相互独立通常通过进程间通信IPC来交换数据。 简而言之进程可以被视为一个正在执行的程序管理着程序的执行环境和资源。 线程 线程是进程中的一个执行单位是操作系统中的基本单位应该进程可以有多个线程他们共享一个进程的资源比如内存但是每个线程可以说是相对独立的。 在java和python中有很多方法实现多线程比如java中的Thread类和Runnable接口并且可以通过线程池来管理线程 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;public class Main {public static void main(String[] args) {ExecutorService executor Executors.newFixedThreadPool(2);for (int i 0; i 5; i) {executor.submit(new MyRunnable());}executor.shutdown(); // 关闭线程池} } 协程(goroutine) 而在go语言中好像并没有线程这一概念只有协程也就是goroutine。相比于线程来说协程更加轻便 在go中启动一个goroutine只需要使用关键词go即可相比于java更加轻便简单 import ( fmt ) func main() { go fmt.Println(goood) fmt.Println(booy) }可以发现先输出的是booy然后才是goood因为go关键词启动的goroutine不影响main goroutine的执行 管道(chnnel) 在go语言中管道是用于在goroutine之间进行通讯的机制它允许在不同的goroutine之间安全的传递数据 创建管道 它也可以使用make函数创建管道 ch :make(chan int)其中chan关键字就表示channel类型和之前的map和string[]差不多chan也是一个集合类型。 接收和发送数据 chan的操作只有俩种 接收和发送 接收 获取chan中的值-chan 发送 向chan发送值chan- package mainimport (fmt )func main() {ch : make(chan int)go func() {ch - 42 // 发送数据到管道}() //执行这个函数的调用value : -ch // 从管道接收数据fmt.Println(value) // 输出: 42 }有缓冲管道与无缓冲管道 在go语言中管道分为有缓冲管道和无缓冲管道他们在数据传输的方式和行为上有一些不同。 无缓冲管道 无缓冲管道就是在定义时不指定容器的管道上面的定义就是无缓冲管道。 特点发送和接收操作是同步的发送方只有到接收方准备好接收数据时才会运行可以确保数据在发送和接收直接有严格同步 上面例子定义的就是无缓冲管道 有缓冲管道 同理有缓冲管道就是在定义时指定了容器的管道 特点发送和接收操作是异步的只要管道没满发送方就不会阻塞只要管道没空接收方也不会阻塞。 ch : make(chan int, 2) // 有缓冲管道容量为 2ch - 1 // 发送数据管道有空间不阻塞 ch - 2 // 发送数据管道仍有空间不阻塞// 此时如果再发送数据发送方会阻塞直到有空间可用 // ch - 3 // 这会导致阻塞fmt.Println(-ch) // 接收数据输出: 1 fmt.Println(-ch) // 接收数据输出: 2 为什么先返回1再返回2接收操作从头部接收而发送操作是从尾部发送所以顺序不变 关闭管道 当不需要使用管道时可以关闭。 close(ch)当管道关闭后无法向里面发送数据但是还是可以向外发送 单向管道 单项管道是指只能用于发送或接收数据的一种管道。可以通过类型声明来创建单向管道从而限制其用法提高代码的安全性和可读性 声明 // 创建一个可以发送的管道 chSend : make(chan- int)// 创建一个可以接收的管道 chReceive : make(-chan int) 如何使用 package mainimport (fmt )func sendData(ch chan- int) {for i : 0; i 5; i {ch - i // 只能发送数据}close(ch) // 关闭管道 }func receiveData(ch -chan int) {for value : range ch {fmt.Println(value) // 只能接收数据} }func main() {ch : make(chan int) // 创建一个双向管道go sendData(ch) // 启动发送数据的协程receiveData(ch) // 接收数据 } 可以看到发送的数据被接受并输出并且顺序不变。
http://www.hkea.cn/news/14468446/

相关文章:

  • 网站建设项目清单价格免费网站个人注册
  • 百度推广苏州公司内页优化
  • 整站seo运营汕头企业自助建站
  • 在线音乐播放网站模板百度指数怎么下载
  • 云虚拟主机和网站建设php做购物网站怎么样
  • 沧州网站优化公司优秀个人网站推荐
  • 域名转移影响网站访问吗哈尔滨网站设计哪家公司好
  • 论述农产品电商网站建设黄山网站建设免费咨询
  • 做个网站一般多少钱企业安全文化建设论文
  • 网站建站系统程序信阳市网站建设公司
  • 网站如何做容易收录wordpress国内免费模板
  • 企业网站策划方案书百度推广服务费一年多少钱
  • 复兴区网络推广公司关键词优化软件
  • 做php网站前端价格seo点击排名工具
  • 网站快捷按钮以什么方式做品牌网哪个比较权威
  • 一键生成论文的网站长春公司做网站
  • 网站建设工作组怎么推广自己的公司网站
  • 网站设计编程有哪些衡阳网站推广
  • 用wordpress建站学什么恋月wordpress
  • 网站桥页也叫延安市住建建设网站
  • 柳州住房和城乡建设部网站网站集约化建设建设成效
  • python做网站 jsp网站佛山网站建设seo优化
  • 苍南具城乡建设局网站百度app免费下载
  • 存量房交易网站建设盐城网站建设案例
  • 成品网站建设流程图微商营销宝最新版
  • 嘉兴模板开发建站网络营销人员招聘
  • 网站标题采集厦门360搜索推广
  • 做网站备案什么意思网站建筑设计
  • 网站的栏目有什么名字企业微信软件
  • 做视频类型的网站阿里云 wordpress搭建网站