Monthly Archives: May 2017

详解全排列问题的递归算法(C语言实现)

从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。如果如果输入为1、2、3,要求输出123、132、213、231、312和321。下面分有重复元素和无重复元素的两种情况说明:
Continue reading

生产者消费者问题(Producer-Consumer Problem)的JAVA实现

一、生产者消费者问题描述

生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。
Continue reading

JAVA创建线程的两种方式:实现Runnable接口和扩展Thread类

线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。JAVA创建线程的两种基本方式为实现Runnable接口和扩展Thread类。
Continue reading