猿问

关于静态方法的疑问

<P>Web开发的后台方法如果用了静态方法是不是就无法实现并发了。<BR>是不是&nbsp; CustomerDA.FindCustomerByID(xxxx); 这样的方法同一个时间只有一个调用 而 new CustomerDA().FindCustomerByID(xxxx);&nbsp;这样的方法就可以有并发调用啊。</P> <P>不太清楚静态方法和非静态方法的机制的区别。&nbsp;有我种疑问的人多吗?</P>

慕无忌1623718
浏览 523回答 3
3回答

慕的地8271018

能否安全并发,只需要看不同的运行实例(线程)里是否要读写同一个变量. 只要你的CustomerDA.FindCustomerByID(xxxx)里不使用静态成员字段(或者对静态字段做只读访问),就没有问题. 即使一定要写入会在其它线程里访问的字段,只要用好lock,也是一样的.总而言之,并发安全与否,与方法是静态与否,完全无关.

人到中年有点甜

静态方法当然是可以并发调用啦!
随时随地看视频慕课网APP
我要回答