修改id生成类为提供线程安全及非线程安全的id生成两种方式。