---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
多线程的运行容易出现安全的问题,问题原因:当多个线个程在操作共享数据时,并且所有的线程都通过了判断条件,这时就会出现数据错误。
例如 int ticket=2;
if(ticket>0)
{
ticket--;
}
当所有线程都执行这段代码时就容易出现问题,如线程1、2、3都执行了if 这条语句,然后开始执行ticket,但是两个线程执行完ticket--时 第三个线程再执行ticket 就成-1了,这就是线程不安全了,导致数据错误了
解决办法:
给代码块外边套上一个同步代码块的东西:synchronized(对象)
{
//要同步的代码,也就是要共享的执行代码
}