数据库UNSIGNED属性

数据库unsigned属性
unsigned一般是无符号的意思,比如unsigned int就是无符号整数的意思,一般有符号数的最高位是符号位,表示数据的正负,不表示大小,而无符号数的最高位是表示数据的大小,这样无符号数表示的数据范围要比有符号数大一倍

这里的id一般表示序号,所以设置为unsigned属性,这样的设计更科学合理。

数据库字段类型Enum(枚举)和Set(集合)的区别(转)

Enum枚举,Set集合。

ENUM和SET都是比较特殊的字符串数据列类型,它们的取值范围是一个预先定义好的列表。ENUM或SET数据列的取值只能从这个列表中进行选择。ENUM和SET的主要区别是:

ENUM只能取单值,它的数据列表是一个枚举集合。它的合法取值列表最多允许有65535个成员。例如:ENUM(“N”,”Y”)表示,该数据列的取值要么是”Y”,要么就是”N”。

SET可取多值。它的合法取值列表最多允许有64个成员。空字符串也是一个合法的SET值。
继续阅读“数据库字段类型Enum(枚举)和Set(集合)的区别(转)”

PV原语实现进程同步和互斥的原理实例

PV原语的含义

P操作和V操作是不可中断的程序段,称为原语。PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。信号量sem是一整数,sem大于等于零时代表可供并发进程使用的资源实体数,但sem小于零时则表示正在等待使用临界区的进程数。

P原语操作的动作是:
(1)sem减1;
(2)若sem减1后仍大于或等于零,则进程继续执行;
(3)若sem减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
继续阅读“PV原语实现进程同步和互斥的原理实例”