
编程语言
flyawayl
打工人
展开
-
多线程同步锁模拟售票系统
使用同步代码块:保证了数据的安全性,因为售票不止一个售票点,多个售票点同时操作同一个数据(卖票)会出现错误。实例:package cn.edu.pzhu;//票务中心 class TicketsCenter { private int tickets; public TicketsCenter(int tickets) { this.tickets = tickets;原创 2017-08-18 19:25:44 · 1092 阅读 · 0 评论 -
python实现汉诺塔移动
汉诺塔问题 汉诺塔是根据一个传说形成的一个问题。汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。思路设hanoi(a, b, c, n)表示从A移动n个盘到C原创 2017-09-07 21:33:19 · 2037 阅读 · 4 评论 -
Java文件复制与读写
函数介绍 public String readLine():每次读取文件的一行,当文件读取完毕时,返回null public int read(byte[] b):将文件内容读取到字节数组b public int write(byte[] b, int off, int len):将字节数组中[off, off+len)位置的内容写入文件文件复制 其实文件复制,在读取原创 2017-08-27 21:31:51 · 1248 阅读 · 0 评论 -
Java遍历文件目录
函数介绍 File[] listFiles():返回当前文件的子目录或子文件的文件数组.遍历目录 调用listFiles()即可得文件的子目录和子文件,如果存在子目录,那么子目录需要再次调用listFiles()去处理该目录。代码实例package cn.edu.pzhu;import java.io.*;public class FileDirListDemo { public原创 2017-08-24 17:07:00 · 882 阅读 · 0 评论 -
String、StringBuffer、与StringBuilder的区别
转载自博客园,原文链接:String、StringBuffer、与StringBuilder的区别 相信大家都知道StringBuffer、StringBuilder,但是这两个的用法都差不多,到底有什么区别呢,这也是面试的时候问的比较多的一道题,这里我就来说说,这两个的区别结合String来说~ String:查看源码得知,String类的声明是:public final,所以可以很清楚的知道,转载 2017-08-20 20:31:29 · 238 阅读 · 0 评论 -
Java文件及文件夹的创建与删除
功能 这个实例实现了在D盘创建一个文件和文件夹,并删除它们。函数介绍 createNewFile():当文件不存在时,根据绝对路径创建该文件。 delete():删除文件或者文件夹。 exists():判断文件或者文件夹是否存在。 isDirectory():判断是否为文件夹。 mkdir():创建文件夹。 mkdirs():创建文件夹及原创 2017-08-20 18:43:28 · 2985 阅读 · 1 评论 -
多线程与死锁
死锁 死锁发生的情况:创建两个字节数组LockA和LockB,再创建两个线程A和B,让每个线程都用synchronized锁住字节数组(A先锁LockA,再尝试去锁定LockB;B先锁LockB,再尝试锁定锁定LockA),如果A锁住LockA,B锁住LockB,A就没办法锁住LockB,B也没办法锁住LockB,两者相互等待,这时就陷入了死锁。代码示例package cn.edu.pzhu;原创 2017-08-19 19:03:24 · 270 阅读 · 0 评论 -
生产者与消费者模型
先介绍几个函数: setPriority( ): 设置线程的优先权。 yield( ): 暂停线程的执行,给其它具有相同优先权的线程执行的机会,若此时没有其它线程执行,则此线程继续执行。这个函数并不会释放锁住的对象。 join( ): 等待加入的线程执行完毕才会执行下一个线程。加入的线程通过interrupt( )来唤醒。 wait( ): 类似sleep( ), 不同的是,wait( )会先释放锁原创 2017-08-19 09:37:41 · 284 阅读 · 0 评论 -
Java中Synchronized的用法
原文:http://blog.youkuaiyun.com/luoweifu/article/details/46613015 《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下Java线程同步中的一个重要的概念synchronized.synchronized是Java中的关键字,是一种同步锁。转载 2017-08-19 08:59:31 · 327 阅读 · 0 评论 -
python中__name__=='__main__'的作用
学习python语法的过程中碰到了__name__=='__main__',这里做个笔记。作用 这段代码的作用就是让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。测试先写一个test.py文件,代码如下# test.py def print_name(): print('hello, %s' % __name__)if __name__ == '__main__':原创 2017-10-06 14:47:00 · 365 阅读 · 0 评论