E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
编程系列
Python多线程
最近在学习并发编程,打算写一个并发
编程系列
的文章。之前也看过很多Python多线程多进程的教程、博客等,但收益不大。
_kkk
·
2022-02-17 14:47
go并发编程总结
本文绝大部分内容是从go并发
编程系列
文章学习总结而来。上下文Context上下文context.Context是用来设置截止日期、同步信号,传递请求相关值的结构体。
彦帧
·
2022-02-15 07:20
Java 并发
编程系列
--- 线程池(ThreadPoolExecutor)源码解析
在开始解析线程池之前,先简单的总结一下创建线程的几种方式:继承Thread类实现Runnable接口使用Future和Callable借助线程池上面是创建一个线程的四种方式,在实际的开发中是推荐使用线程池来实现多线程的并发操作。ThreadPoolExecutor是线程池的核心实现类,用来执行被提交的任务。在开始分析之前,先看一下线程池的主要处理流程,如下图:image.png上图是线程池的处理流
起个名忒难
·
2022-02-10 15:31
可视化网关
编程系列
教程-----(3)日落打开花园灯
日落打开花园灯,日出关闭花园灯小伙伴们,今天来学习定时模块,让家庭设备实现自动化,节省更多的时间去睡觉。image.pngOk,下面跟着我做。image.png步骤1.安装suncalc节点在节点管理器中搜索suncalc节点,然后进行安装即可。image.png2.使用suncalc节点打开suncalc节点以后你会发现有Latitude,Longitude,Start,End。这里我们要知道你
Songzh
·
2022-02-05 18:42
并发编程之深入理解JMM&并发三大特性 (图灵课堂)
并发
编程系列
JMM属于整个Java并发编程中最难的部分也是最重要的部分(JAVA多线程通信模型——共享内存模型),涉及的理论知识比较多,从三个维度去分析:JAVA层面JVM层面硬件层面这块如何学?
lang20150928
·
2022-02-04 16:38
基础
apache
java
开发语言
并发
编程系列
之掌握原子类使用
并发
编程系列
之掌握原子类使用学习目标:知道什么是原子类和用途掌握juc中原子类使用了解原子类的实现原理1、什么是原子类?原子类是jdk的juc包中提供的对单个变量进行无锁、线程安全修改的工具类。
smileNicky
·
2021-12-04 20:49
并发编程
java
开发语言
后端
Java并发
编程系列
之LockSupport的用法
目录1、什么是LockSupport?2、两类基本API3、LockSupport本质4、LockSupport例子5、LockSupport源码总结1、什么是LockSupport?LockSupport是用于创建锁和其他同步类的基本线程阻塞原语2、两类基本APILockSupport提供了两类最基本的API:block线程类:一般都是以pack开头的方法名,pack*(...)pack方法有两
·
2021-11-22 17:18
并发编程终章:Java并发
编程系列
总纲
并发编程目录磕磕绊绊近半年时间,在工作之余,前后一共写了十三篇深入Java并发
编程系列
的文章,由于内容颇多,所以在这里列一个目录方便诸位翻阅。
竹子爱熊猫
·
2021-11-07 00:00
多线程
高并发编程
后端
【JS
编程系列
】红绿黄三灯交替亮灯
一、题目题目:红灯三秒亮一次,绿灯两秒亮一次,黄灯一秒亮一次;如何让三个灯不断交替重复亮灯?二、解决方案思路:主要考察Promisefunctionred(){console.log("red");}functiongreen(){console.log("green");}functionyellow(){console.log("yellow");}constsleep=(time,fn)=>
前端葱叶
·
2021-11-05 00:37
Python函数式
编程系列
012:惰性列表之生成器与迭代器
因为本系列还是基于一些已经对Python有一定熟悉度的读者,所以我们在此不做非常多的赘述来介绍基本知识了。而是回我们之前的主题,我们要用迭代器和生成器实现之前的指数函数。当然,我们这里还是需要回到惰性列表是什么这个问题。事实上,回到原来惰性求值的概念,惰性列表的概念其实是「需要时才计算出值」的列表。我们在调用iter的时候,其实对常见的对象并没有特别大的优势。我们可以假想,其实iter转化[1,2
·
2021-10-25 16:27
python函数式编程惰性求值
Python函数式
编程系列
011:类与类型
这篇文章里,我们试图略微讨论一下类与类型的概念。当然,内容是很浅薄甚至是更关注实践的。不过这种解读可能更有裨益。我在前面水管模型的叙述中,一直将函数式的假想敌人想象成「过程式」编程。这里当然我们就不免地对编程语言做一些简单的分类。许多人认为函数式编程相反的概念是面向对象编程,但其实这里存在了非常多的误解。我在前面的文章里,一直强调如果要使用一个新的概念,就必须至少在那篇文章里做说明。一路走来,函数
·
2021-10-19 12:53
Python函数式
编程系列
010:惰性列表之动手实现List
这篇文章,我们要动手实现一个List,不过和一般的文章不同,我们这里不用类来实现,而是用基本的数据结构,二元元组(a,b)和空元组()来实现。这两个都可以通过lambda直接定义出来,具体方法可以参考上一篇的内容。我们考虑一下,List(也叫链表),最关键的是创建一个模式,可以无穷展开自己,保存一个值和下一个数据的,例如[1,2,3,4]我们可以用(1,(2,(3,(4,()))))。我们必须指定
·
2021-10-18 14:13
python函数式编程
Python函数式
编程系列
009:惰性列表之常规列表
我们在惰性求值中,我们介绍了「惰性列表」的概念,这个概念,其实在Python种也有部分原生支持。这就是很受新手困扰的生成器和迭代器了。但之前,我们首先要回顾一下关于列表的功能。从二元元组到列表首先,我们可以用\(\lambda\)演算定义一个二元的元组,或者叫pair:pair:\(\lambdaabf.fab\)first:\(\lambdap.p(\lambdaab.a)\)second:\(
·
2021-10-15 17:32
python函数式编程
Python函数式
编程系列
008:可测
我们在之前的文章之中,已经反复地强调了很多函数式编程的优点,例如表达能力,延迟计算的好处之类的。但其实一个更大的有点其实是可测性。本篇文章也是传达整个系列要表达的核心,我们不是要完全排除过程式、副作用等概念,而是有限的使用,并且能在现有代码的基础上做改良。缘起下面,我们看一个例子:一个公司希望设计一个基于时间的调度器,它们可以提供一个比crontab更完善的语法,比如可以基于每个月前三天、每周周末
·
2021-10-13 14:57
python函数式编程单元测试
Python函数式
编程系列
005:离题之定义自然数
前言在我们已经掌握了那么多建管子的方法之后,我们开始离题,看看我们能用最少的概念做哪些自举产生的事。在这一章中我们讲仅使用字符串"e",函数,if-else分支,=="e"运算,这四个概念来实现一个自然数的概念(实际中还用到了bool值,不过bool本身也可以用"e"和f("e")表示)。皮亚诺公理我们首先回顾一下,数学如何定义即皮亚诺公理如何定义自然数,事实上,皮亚诺公理定义的是「无限可数集」的
·
2021-10-12 12:37
python函数式编程数学数论
Python函数式
编程系列
006:Y组合子与递归
在上一篇「离题」的文章中,我们介绍了如何单纯通过几个简单概念实现一个自然数的概念。这也告诉我们,其实函数式编程一个最核心的内容就是用最少的概念派生性地产生更多的概念来实现功能。这个不像Java之类的对象式语言需要的原生概念非常多,然后又需要更多的派生概念解决问题。但是,其实我们在上面的文章中一直避而不谈,就是其实我们使用了「递归」这个概念,这个概念是必须要的「原生」概念吗?还是一个可以用「原生」概
·
2021-10-12 12:37
组合模式python函数式编程
Python函数式
编程系列
007:惰性求值
本系列文章一些重要的函数、方法、类我都实现的一遍,你可以在github(点击此处)中找到代码和测试例子(如果网速过慢我也放了一份在gitee(点击此处)上,但请勿在gitee上提issue或者留言),欢迎star/fork。缘起我们回到介绍高阶函数的一章,我们提到了高阶函数特别是科里化的一个好处便是「提前求值」和「推迟求值」,通过这些操作,我们可以大大优化很多代码。比如,我们使用之前的例子:def
·
2021-10-12 12:36
python函数式编程惰性求值
Python函数式
编程系列
004:递归
从递推说起说到代码复用,最低层次的代码复用就是基于for/while等的递推(iteration)思路了,它们的策略在代码行的重复,我们可以看一下下面求幂的例子(这个例子将在之后会以各种面目出现):defpower1(x:float,n:int)->float:res=1foriinrange(n):res*=xreturnres这个例子不能全然地用纯函数的方式实现,因为如果我们打印出i和res的
·
2021-10-12 12:36
python递归函数式编程
Python函数式
编程系列
003:一等公民
概述这篇文章里,我们将讨论一个函数式编程的重要概念,「函数是一等公民」,顺便引出科里化、PartialAppliedFunction、多元函数的概念。多元函数第一个我们要介绍的是多元函数的概念。其实多说无益,多元函数就是有超过一个参数的函数,它的「水管图」可以概括如下:%%{init:{'securityLevel':'loose','theme':'base'}}%%stateDiagram-v
·
2021-09-24 18:54
python函数式编程
Python函数式
编程系列
002:水管模型和compose
水管模型这一章,我们要回到一个问题,到底函数式和过程式的编程思路到底在哪里?我们这里提供一个形象的比喻。过程式--屋子物件过程式思维里,每一个可变变量、函数/过程指称的符号,类似告诉你一个屋子的名字。对一个静态语言来说,我们可能还需要屋子里只能放什么东西。然后,我们每一次调用一次函数/过程,就是将对对应屋子里的函数取出来,以及其他屋子里的物件取出来,按照函数的方式重新整理,把结果放到原先的屋子或者
·
2021-09-24 16:10
python函数式编程
Python函数式
编程系列
001:无副作用
这个博客的目的本来是讨论数据(用\(\tau\)表示)和函数式编程/计算机科学(用\(\lambda\)表示)的两类主题的。但事实上,本博客还没写过任何关于函数式编程的内容,显得有些「名不副实」。而近几年在一些项目上和自己理论学习中的实践,对于函数式编程有了一些不大不小的洞识。希望能借由这个系列来给大家传递一些函数式编程非常有用的方法,以及更督促自己对这方面进行思考和学习。当然,介绍函数式编程的不
·
2021-09-23 18:29
python函数式编程
可视化网关
编程系列
教程-----(4)获取天气信息
获取天气信息小伙伴们,大家好。今天我们学习通过wether节点来获取天气信息。帮得到的数据传输到家里的OLED屏或者触摸屏,出门之前就能知道今天的天气,它能不香嘛image.pngimage.png1.安装wether节点通过npm安装npminstall-gnode-red-contrib-weather通过节点管理器进行安装,搜索weatherimage.png2.使用weather节点双击w
Songzh
·
2021-06-20 12:53
Java 并发
编程系列
(二) 锁之 LockSupport 工具 、Condition接口
LockSupport工具类Condition与Object对比(来自Java并发编程的艺术一书)Condition提供了一系列的方法Condition方法await():造成当前线程在接到信号或被中断之前一直处于等待状态。await(longtime,TimeUnitunit):造成当前线程在接到信号、被中断或到达指定等待时间之前一直处于等待状态。awaitNanos(longnanosTime
Gxgeek
·
2021-06-15 09:36
Win32 编程添加控件及监听 2018-10-16
Win32
编程系列
文章:https://www.jianshu.com/nb/30332818添加控件在HelloWorld基础上,添加:wWinMain内部创建变量,使用的是如下的方法://创建静态文本控件
五道口的程序狐
·
2021-06-15 06:38
Linux网络编程篇之ICMP协议分析及ping程序实现
Linux网络
编程系列
:Linux网络编程篇之Socket编程预备知识Linux网络编程篇之TCP协议分析及聊天室功能实现如果对Linux网络编程,对socket通信不是太清楚的同学,强烈推荐看一下上述的预备知识
刘元旺
·
2021-06-14 23:53
Python 高级
编程系列
(二)
Python装饰器常见用法装饰器与spring中的AOP类似通过装饰器可以实现面向切面的注入一:缓存(用python实现缓存)把一些经常操作的数据,对象放入缓存,同一个对象不重复缓存,用到的是装饰器实现的具体代码如下:#-*-coding:utf-8-*-importitertoolsimportpickleimporthashlibimporttimecache={}defis_obsolete
lolipops
·
2021-06-14 08:54
JDK并发
编程系列
一:线程间的等待关系
CountDownLatch内部维护一个计数器,用来控制一个线程等待多个线程。调用await()方法会阻塞,直到count=0,调用countDown()方法即count-1示例:publicclassCountDownLatchDemo{publicstaticvoidmain(String[]args)throwsInterruptedException{//声明一个计数器为5的CountDo
一千零一梦
·
2021-06-14 08:54
【C
编程系列
】C语言中snprintf()函数
函数原型:intsnprintf(char*dest_str,size_tsize,constchar*format,...);函数功能:先将可变参数“...”按照format的格式格式化为字符串,然后再将其拷贝至dest_str中。头文件:#include注意事项:如果如果格式化后的字符串长度小于size,则将字符串全部拷贝至dest_str中,并在字符串结尾处加上‘\0’;如果格式化后的字符串
苹果小王子写字的地方
·
2021-06-12 04:23
零基础学
编程系列
之一:先建一座大房子,搭建编程环境
本节目标->搭建开发环境我要一所大房子,有很大的落地窗户,阳光洒在地板上,也温暖了我的被子;我们晚上不睡觉,白天在床上思考,小狗在屋里奔跑......孙燕姿“完美的一天”歌词要学习编程,首先让我们为编程机器人,建一座大房子,让它在计算机内跑的欢快顺畅舒适,我们也可以喝着咖啡,敲着代码,享受编程创作的快乐。本节内容不涉及编程知识,主要目标就是搭建编程环境,修建一座大房子。零基础的定义零基础是这样界定
瑞波荡漾
·
2021-05-20 12:26
猫哥网络
编程系列
:详解 BAT 面试题
「猫哥网络
编程系列
」一直是我想沉淀的一个技术知识点,因为我认为:网络编程相关知识(尤其是HTTP协
猫哥学前班
·
2021-05-18 10:10
java并发
编程系列
之原理篇-synchronized与锁
#前言Java中的锁都是`基于对象的锁,Java中的每一个对象都可以作为一个锁`,我们常听到**类锁**其实也是对象锁,因为Java类只有一个class对象(一个Java类可以有多个实例对象,多个实例对象共享这一个Java类)。之所以有锁的概念,都是因为在多个线程在访问一个共享变量资源时会发生一些不可控制的问题。所以,锁控制的就是共享资源对象。#锁的分类Java6为了减少获得锁和释放锁带来的性能消
乘风破浪的小哥哥
·
2021-05-07 09:16
『图解Java并发
编程系列
』10张图告诉你Java并发多线程那些破事
目录线程安全问题活跃性问题性能问题有态度的总结头发很多的程序员:『师父,这个批量处理接口太慢了,有什么办法可以优化?』架构师:『试试使用多线程优化』第二天头发很多的程序员:『师父,我已经使用了多线程,为什么接口还变慢了?』架构师:『去给我买杯咖啡,我写篇文章告诉你』……吭哧吭哧买咖啡去了在实际工作中,错误使用多线程非但不能提高效率还可能使程序崩溃。以在路上开车为例:在一个单向行驶的道路上,每辆汽车
爱笑的架构师
·
2021-04-28 21:55
Java高级特性
Java并发编程
JUC
java
多线程
并发编程
趣谈ReentrantLock,看完直呼通俗易懂
前言自己开的坑,跪着也要填完,欢迎来到Java并发
编程系列
第五篇ReentrantLock,文章风格依然是图文并茂,通俗易懂,本文带读者们深入理解ReentrantLock设计思想。
程序猿阿星
·
2021-04-22 14:28
Java基础
java多线程
ReentrantLock
Java多线程
AQS
Java锁
Java并发编程
生物信息与
编程系列
--引言
干生物信息工作的如果你没有掌握一门编程语言都不好意思给别人开口说你在做生物信息。在我的意识世界里,生物信息学科是一门纯粹的工具学科,其发展的所有方法都不外乎是为生命科学研究提供服务的。之所以有这样的认知,是因为我是生物背景的。在2016年的全国生物信息学大会上郝柏林、强伯勤等几位院士联手多位专家提出要将生物信息学单独列为一个学科,我有些不理解。(他们物理出生的和我们生物出生的差别确实太大)。抖不撑
正踪大米饭儿
·
2021-04-20 16:46
白话C++
编程系列
之h: 想死?!抽大象耳光!( 类: 二 )
白话C++
编程系列
视频之h:想死?!抽大象耳光!(类:二)C++类的重要概念:抽象抽象是共性代言人!抽象的男女主角是:类/函数白话C++
编程系列
h.想死抽大象耳光!.png
小宁静致远
·
2021-04-20 11:29
【并发
编程系列
7】CountDownLatch,CyclicBarrier,Semaphore实现原理分析
CountDownLatchCountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完毕再执行。CountDownLatch使用示例packagecom.zwx.concurrent.jucUtil;importjava.util.concurrent.CountDownLatch;publicclassCountDownLatchDemo{publics
刀哥说Java
·
2021-04-19 08:58
【并发
编程系列
5】JUC必知ReentrantLock和AQS同步队列实现原理分析
给读者的小惊喜:戳我前言锁是一种用来控制多线程访问共享资源的工具。通常,锁可以独占共享资源:同一时间只有一个线程可以获得锁,并且所有访问共享资源的线程都必须首先获得锁。前面我们介绍过了synchronized,使用synchronized的方法和代码块作用域机制使得使用监视器锁更加简单,并且帮助避免了许多关于锁的常见编程错误,比如锁未及时释放等问题。但是有时候我们需要更灵活的使用锁资源,例如,一些
刀哥说Java
·
2021-04-18 17:47
【并发
编程系列
2】synchronized锁升级原理分析(偏向锁-轻量级锁-重量级锁)
初识synchronized在并发编程中,synchronized对我们来说并不陌生,我们都知道,当多个线程并行的情况下,程序是不安全的,这个不安全主要发生在共享变量的不安全,我们通过一个例子来说明:packagecom.zwx.concurrent;publicclassTestSynchronized{privatestaticintcount;publicstaticvoidincremen
刀哥说Java
·
2021-04-18 04:56
Java并发
编程系列
之CountDownLatch用法及详解
背景前几天一个同事问我,对这个CountDownLatch有没有了解想问一些问题,当时我一脸懵逼,不知道如何回答。今天赶紧抽空好好补补。不得不说DougLea大师真的很牛,设计出如此好的类。1、回顾旧知识volatile关键字:当一个共享变量被volatile修饰时,它会保证修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值。(这涉及到java内存模型了,有兴趣了解java内
境里婆娑
·
2021-04-17 18:10
深入理解AbstractQueuedSynchronizer只需15张图
前言Java并发
编程系列
第四篇AbstractQueuedSynchronizer,文章风格依然是图文并茂,通俗易懂,本文带读者们深入理解AbstractQueuedSynchronizer设计思想。
程序猿阿星
·
2021-04-16 12:29
java多线程
Java基础
多线程
java
后端
AQS
【并发
编程系列
9】阻塞队列之PriorityBlockingQueue,DelayQueue原理分析
前言前面我们介绍了ArrayBlockingQueue,LinkedBlockingQueue,LinkedBlockingDeque三种阻塞队列,今天继续介绍PriorityBlockingQueue和DelayQueue两个阻塞队列,在介绍这两个阻塞队列之前,需要先了解一种数据结构:二叉堆。因为PriorityBlockingQueue内部使用了最小二叉堆算法来保证每次弹出的元素是最小元素,而
刀哥说Java
·
2021-04-15 07:19
linux网络
编程系列
(四)--tcp包头、三次握手、四次挥手、状态
1.TCP协议1.1TCP数据包头要了解三次握手和四次挥手,首先需要了解下TCP数据包头的结构,如下:tcp包头源端口、目的端口:16位长,标识出远端和本地的端口号;序号:SEQ,32位长,标识发送的数据包的顺序,防止数据包乱序;确认号:32位长,接收方对发送方发送来的TCP报文段的响应,其值是对收到的报文序号加1,用于解决不丢包的问题;TCP头长:4位头长,标识tcp头部可以有多少个32bit,
cpp加油站
·
2021-04-15 06:39
【并发
编程系列
12】从Java线程池的常用4种写法深入分析线程池(Thread Pool)的实现原理
写在前面的话并发编程里面,线程池这个一直就想写一篇文章来总结下,但是直到并发
编程系列
的第12篇才写的原因是线程池里面用到了AQS同步队列和阻塞队列等一些知识,所以为了铺垫,就先把前面的知识点写完了,到现在
刀哥说Java
·
2021-04-14 22:18
写给小白看的LockSupport
前言Java并发
编程系列
第三篇LockSupport,上一篇Synchronized文章中有提过,不推荐读者们使用Object的wait、notify、notifyAll等函数做多线程间的通信协同,使用
程序猿阿星
·
2021-04-06 13:09
java多线程
Java基础
锁
并发编程
多线程
Java
高并发系统的限流策略:漏桶和令牌桶(附源码剖析)
原文链接:高并发系统的限流策略:漏桶和令牌桶(附源码剖析)前言哈喽,大家好,我是正在学习PS技术的asong,这是我并发
编程系列
的第5篇文章,今天与大家聊一聊高并发系统中的限流技术,限流又称为流量控制,
·
2021-03-30 11:59
golang微服务限流
源码剖析sync.WaitGroup(文末思考题你能解释一下吗?)
前言哈喽,大家好,我是asong,这是我并发
编程系列
的第三篇文章,上一篇我们一起分析了sync.once的使用与实现,今天我们一起来看一看sync.WaitGroup的使用与实现.快过年了,这是年前最后一篇推文了
·
2021-03-30 11:28
golangsync并发编程
源码剖析sync.cond(条件变量的实现机制)
前言哈喽,大家好,我是asong,这是我并发
编程系列
的第三篇文章,这一篇我们一起来看看sync.Cond的使用与实现。
·
2021-03-30 11:28
详解并发编程之sync.Once的实现(附上三道面试题)
原文链接:戳这里哈喽,大家好,我是asong,这是我并发
编程系列
的第二篇文章.上一篇我们一起分析了atomic包,今天我们一起来看一看sync/once的使用与实现.什么是sync.onceGo语言标准库中的
·
2021-03-30 11:27
详解并发编程基础之原子操作(atomic包)
最近想写一个并发
编程系列
的文章,使用Go也有一段时间了,但是对并发的理解不是很透彻,借着这次总结,希望能更进一步。
·
2021-03-30 11:27
golang原子性原子操作
BAT面试多线程最常问的一个问题:谈谈你对Synchronized的理解?
前言Java并发
编程系列
第二篇Synchronized,文章风格依然是图文并茂,通俗易懂,本文带读者们由浅入深理解Synchronized,让读者们也能与面试官疯狂对线。
程序猿阿星
·
2021-03-26 12:33
Java基础
java多线程
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他