CuterCorley CuterCorley
3年前
C语言入门系列之7.函数的定义、参数、调用和存储类别
一、概述1.函数基本概念一个较大的程序可分为若干个程序模块,每一个模块用来实现一个特定的功能。在高级语言中用子程序实现模块的功能,子程序由函数来完成。一个C程序可由一个主函数和若干个其他函数构成。函数间的调用关系可能如下:由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数调用任意多次。简单测试如下:cinclude
科工人 科工人
3年前
一文吃透 Go 语言解密之接口 interface
转载:大家好,我是煎鱼。自古流传着一个传言...在Go语言面试的时候必有人会问接口(interface)的实现原理。这又是为什么?为何对接口如此执着?实际上,Go语言的接口设计在整体扮演着非常重要的角色,没有他,很多程序估计都跑的不愉快了。在Go语言的语义上,只要某个类型实现了所定义的一组方法集,则就认为其就是同一种类型,是一个东西。大家常常称其
Stella981 Stella981
3年前
Spring Boot 接口幂等插件使用
幂等概述幂等性原本是数学上的概念,即使公式:f(x)f(f(x))能够成立的数学性质。用在编程领域,则意为对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的。幂等性是分布式系统设计中十分重要的概念,具有这一性质的接口在设计时总是秉持这样的一种理念:调用接口发生异常并且重复尝试时,总
Wesley13 Wesley13
3年前
Java并发和多线程那些事儿
我记得我接触电脑的时候是在小学三年级的时候,那是1995年,那年发布了windows95,但是我学习的时候还是只是dos系统,简单对于文件的一些命令操作还有五笔在过去的那个年代,电脑都是单CPU,也就是单任务处理;多任务处理到后来才慢慢发展起来,多任务代表电脑在同一时刻内可以处理很多并行操作,这样CPU被利用率高了,多个任务都可以共享。多任务处理的出现对
Wesley13 Wesley13
3年前
Java原子类操作原理剖析
◆CAS的概念◆对于并发控制来说,使用锁是一种悲观的策略。它总是假设每次请求都会产生冲突,如果多个线程请求同一个资源,则使用锁宁可牺牲性能也要保证线程安全。而无锁则是比较乐观的看待这个问题,它会假设每次访问都没有冲突,这样就提高了效率。但是事实难料、这个冲突是避免不了的,无锁也考虑到了肯定会遇到冲突,对于冲突的解决无锁就使用一种比较交换(CA
Wesley13 Wesley13
3年前
AQS之工作原理
前面一章LZ简单的介绍了下AbstractQueuedSynchronizer(AQS)以及AQS中提供的一些模板方法和作用,这一章LZ将用一个简单的实例来介绍下AQS中独占锁的工作原理。独占锁顾名思义就是在同一时刻只能有一个线程能获取到锁,而其它需要获取这把锁的线程将进入到同步队列中等待获取到了锁的线程释放这把锁,只有获取锁的线程释放了锁,同步队列中的线程
Stella981 Stella981
3年前
Oh!Binlog还能这样用之Canal
背景不知道是否你还在为下面的问题而困扰:当你使用了redis或者其他中间件做缓存的时候,经常发现缓存和数据库的数据不一致,只能通过定时任务或者缓存过期的方式去做一些限制。当你使用了ES做搜索工具,使用双写的那一套方法,还在为ES和数据库不是一个事务而担忧。当你需要迁移数据的时候,也还在使用双写的方法,如果是同一个数据
Wesley13 Wesley13
3年前
Unity C# lock关键字的坑
Unity5.6环境下的lock关键字,在特定的多线程环境下会死锁崩溃其中一种情况:异步socket操作,由于内部是一个线程池回调的异步回调,操作同一个对象时lock关键字会概率出现死锁闪退,(发现现象的例子是服务器不断重启或者WIFI断开打开,导致连接断开客户端异步任务大量要在主线程执行导致闪退,而主线程保证线程安全的是用关键字l
Easter79 Easter79
3年前
ThreadLocal详解
ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。  这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。那么在有一种情况之下,我们需要满足这样一个条件:变量是
Wesley13 Wesley13
3年前
Java中多线程并发体系知识点汇总
一、多线程1、操作系统有两个容易混淆的概念,进程和线程。进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进