一、进程与线程
- 1个CPU同一时间只能处理一件事,只不过他的切换速度太快,碾压人类感知
- 通俗的讲:“进程是爹妈,管着众多的线程儿子”...
二、线程安全问题:
因为所谓的多线程是通过调度获取cpu的时间片实现的 其实就相当于 cpu是一个人 多线程是几件事 cpu一下子干这件事 干一会儿时间片到了就干另一件 由于cpu计算速度很快很快 所以看起来就像几件事情在同时做着 不过现在cpu都是双核四核八核的 这些是真的一起干的 因为这是几个人干几件事 肯定是一起做。
典例:
就比如现在有两个线程。任务是判断数据库中是否有这个数据,如果没有的话,就插入。
任务过程假设---》由上面所知,2个线程都是在执行未完成阶段,当前一个判断无该数据,然后停止该线程,执行第二个线程时,判断的也是无该数据。后停止该第二线程。到第一个线程去执行添加操作。这样会导致插入2条一模一样的,而出问题。
网友评论