我是在用MediaRecorder进行录像时发生视频和音频不同步的问题,请教了一些人后感觉应该是没有时间戳,之前一直觉得时间戳就是给用户看的一个数据,查了一下发现不是的,以下是转载的。希望对大家实用:

首先向大家介绍什么是时间戳。

说得通俗一些,时间戳就是根据当前系统时间生成的一组随机数字。

时间戳一般作为对数据唯一性的一种推断根据。接下来向大家介绍一下我们能够怎样运用时间戳。

我们一定会碰到这种情况:银行A与银行B差点儿同一时候打开你的账户并看到你的账户上原有1000元存款。然后两家银行都想在你的账户上加上500元存款。那么。银行A便将1000元改成1500元,同一时候。银行B也将1000元改成了1500元。这样就糟糕了!

最后,你的银行账户上最后仅仅有1500元而不是理应的2000元,等于白白损失了500元!

这就是在没有锁定数据的情况下改动造成的严重问题。

然而,我们能够通过时间戳来巧妙解决问题。

我们来看思路:

  1. 在银行account表中建立时间戳字段timestamp。设定为文本类型varchar。
  2. 当银行A读取account表中的存款字段时,同一时候也读取时间戳字段,比方123456。
  3. 当银行A改动完存款数值后。进行存盘操作时。将先前读取的时间戳123456与当时表中的时间戳进行一次对照,假设一致,那么同意存盘。然后生成一个新的时间戳比方456789替换表中原有的时间戳123456。

   这样做会带来什么优点呢?

我们再来看一開始的那个情况:银行A与银行B差点儿同一时候打开你的账户并看到你的账户上原有1000元存款,与此同一时候两个银行业同一时候读取了时间戳123456,接下来就有差别了。当银行A把1000元改成1500元后,存盘,系统将对照先前的时间戳123456是否与存盘时表中的时间戳一致。显然。如今应该是一致的,那么同意存盘,并生成新的时间戳456789替换了旧的时间戳123456。

接下去,B银行也将1000元改动成了1500元,存盘,系统对照先前的时间戳123456是否与存盘时表中的时间戳一致,发现先前的时间戳123456已经与如今的时间戳456789相异。系统拒绝存盘,要求刷新数据,那么数据刷新之后1000元已经由于之前A银行存入了500元而成为了1500元。那么B银行就会在1500元的基础上改为2000元,再次存盘,系统同意。这样,我们就避免了反复改动数据所带来的错误。

有些像绕口令,我希望我们都清楚我是什么意思~

Android 角色时间戳相关推荐

  1. Android java时间戳转年月日时分秒(三十七)

    Android java时间戳转年月日时分秒 public String getCurrentTime(long value) {SimpleDateFormat format = new Simpl ...

  2. android地址格式转换,Android(安卓)时间戳和日期之间的转化

    在Android开发过程中,经常会遇到日期的各种格式转换,主要使用SimpleDateFormat这个类来实现,掌握了这个类,可以转换任何你想要的各种格式. 常见的日期格式: 1,日期格式:Strin ...

  3. android 弹幕时间戳,【存档】B站直播数据包分析连载(2018-12-11更新/2020-04-12废止)...

    TODO: 这篇文章是我分析B站直播的数据包的过程,可能会有一些待补充的内容,如果有什么建议可以私信我或者跟评.感谢一下下面的各位做出的卓越贡献~ CREDITS: 冰块TiO2 - 提供样本数据(十 ...

  4. android获取时间戳接口

    1.时间单位 秒:second毫秒:Millisecond微妙:Microsecond纳秒:nanosecond1秒 = 1000毫秒:1毫秒=1000微秒, 1微秒=1000纳秒, 2.获取时间戳 ...

  5. android时分转时间截,Android针对时间戳转几时几分昨天前天某年某月某日的显示...

    今天做项目的过程中使用到时间戳的问题,主要代码就是下面的那个方法: /** * 根据毫秒时间戳来格式化字符串 * 今天显示几时几分.昨天显示昨天.前天显示前天. * 早于前天的显示具体年-月-日,如2 ...

  6. Android java时间戳转年月日时分秒

    public String getCurrentTime(long value) {SimpleDateFormat format = new SimpleDateFormat("yyyy- ...

  7. android 时间差 秒_Android进阶之使用时间戳计算时间差

    本文实例为大家分享了Android使用时间戳计算时间差的具体代码,供大家参考,具体内容如下 因当前项目需要计算时间差,进行数据处理,所以在Csdn上找了一下,之后修修补补是可以用的,建议大家如果用到项 ...

  8. Android 时间戳

    时间戳的含义: 通常是一个字符序列,唯一地标识某一刻的时间.数字时间戳技术是数字签名技术一种变种的应用. 规则: 指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日 ...

  9. 同步Android与PC的时间

    同步Android与PC的时间 在做一些网络延迟测试的时候,需要同步Android设备或者模拟器与PC的时间(要不然无法准确计算延迟),在这里记一下获取Android的时间戳以及MacOS的时间戳,均 ...

最新文章

  1. org.springframework.jdbc.BadSqlGrammarException: CallableStatementCallback; bad SQL grammar
  2. 快速记忆python函数-【速学速记】Python的工程化:使用模块
  3. 单元测试框架之unittest(一)
  4. android系统的手机目录
  5. 稳扎稳打Silverlight(17) - 2.0数据之详解DataGrid, 绑定数据到ListBox
  6. IntelliJ IDEA不好用?那是因为没掌握这些技巧
  7. 接口 vs 抽象类 的区别
  8. 方法和函数有什么区别?
  9. linux 学习6 软件包管理 资料链接
  10. java事件处理的题目_介绍一下java的事件机制
  11. python中的位置怎么看_如何获得字符在Python中的位置?
  12. QT中QTableWidget鼠标事件捕获
  13. vs2010和matlab混合编程,VS2010与Matlab2010b混合编程
  14. IDEA中使用Git,文件不同颜色代表的含义
  15. C#获取当前桌面路径
  16. 穹顶之下,关于数据中心的“绿色”思考
  17. Unity Shader LOD详解
  18. Linux7密钥,centos7秘钥验证
  19. signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
  20. 复旦大学计算机学院教师简介,复旦大学计算机科学技术学院导师教师师资介绍简介-危辉...

热门文章

  1. 论网络游戏如何结合社区设计
  2. 获取项目文件在服务器的真实路径
  3. Android主线程耗时动画卡顿,Android性能优化实战之界面卡顿
  4. 笔记本高分屏字体模糊_高色域+高分辨率轻薄本推荐,你需要2K屏笔记本电脑么?...
  5. POJ3114强连通+spfa
  6. 【Groovy】map 集合 ( map 集合操作符重载 | + 操作符重载 | 代码示例 )
  7. 【错误记录】Kotlin 编译报错 ( Class ‘Xxx‘ is not abstract and does not implement abstract member )
  8. 【商务智能】数据仓库 ( 多维数据模型 | 多维数据分析 )
  9. 【Android 安全】DEX 加密 ( DEX 加密原理 | DEX 加密简介 | APK 文件分析 | DEX 分割 )
  10. 通过sort()方法实现升序和降序排列