一,Java线程sleep()方法和wait()方法
sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会;
sleep()是Thread类的Static(静态)的方法;因此他不能改变对象的机锁,所以当在一个Synchronized块中调用Sleep()方法是,线程虽然休眠了,但是对象的机锁并木有被释放,其他线程无法访问这个对象(即使睡着也持有对象锁)。
wait()方法是Object类里的方法;当一个线程执行到wait()方法时,它就进入到一个和该对象相关的等待池中,同时释放了对象的机锁(暂时失去机锁,超时时间到后还需要返还对象锁),期间其他线程可以访问。wait()使用notify或者notifyAlll或者指定睡眠时间来唤醒当前等待池中的线程。
sleep()可以不能释放锁,wait()让改对象进入等待池,释放锁
二,MySQL使用通配符进行模糊查询(like,%,_)
通配符的分类:
%百分号通配符: 表示任何字符出现任意次数(可以是0次).
_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符
举例:
匹配以"csdn"开头的记录:(包括记录"csdn")
SELECT * FROM products WHERE work.prod_name like 'csdn%';
匹配结果为: 像"mycsdn"这样记录.
SELECT * FROM products WHERE work.prod_name