锁定老帖子 主题:多线程开发,表示很凌乱
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-05
第一次做网络应用的一个项目的服务器端,以前一直都是ssh开发,tomcat服务器,也做过很长时间的客户端从没考虑过多线程的问题,现在不做web项目、也不纯客户端开发了,忽然觉得头大。
说说主要困惑,举个例子来说,我总是会想到这个类实例化以后的这个对象,在同一时间可能会被N多客户端请求,那么我担心这种并发会导致我当前对象中的数据交错,一不是一,二也不是二了,所以,有种恨不得每个方法都是synchronized的,但是很明显这样做,是不对的。当然,以前也学习过多线程的基础,网上的资料也没少看、少找,但是还是不能完全切透这种模式的思路。
现在身边也没有同事、朋友可以请教的,只能在此请教坛里的老鸟,现现原形,给我指点指点,做这种开发,我对每个对象的使用,应该站在什么样的位置上考虑程序开发呢。
菜鸟谢过先。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-04-06
怎么没人,自己先留个名,不要沉了啊。烧香拜佛快来人啊。
|
|
返回顶楼 | |
发表时间:2012-04-09
我对线程安全有兴趣
|
|
返回顶楼 | |
发表时间:2012-04-09
去看一本书
Java并发编程实践 |
|
返回顶楼 | |
发表时间:2012-04-11
这太宽泛了吧。基本上有共享的数据的地方,就应该考虑同步的问题了吧。
|
|
返回顶楼 | |
发表时间:2012-04-17
多线程问题我也感觉很凌乱,感觉到处都是地雷
|
|
返回顶楼 | |
发表时间:2012-04-17
看API.
研究Java.util.concurrent 不要试图自己开发一个线程处理框架, 用并发包, 会省很多事 |
|
返回顶楼 | |
发表时间:2012-04-17
junlas 写道
说说主要困惑,举个例子来说,我总是会想到这个类实例化以后的这个对象,在同一时间可能会被N多客户端请求,那么我担心这种并发会导致我当前对象中的数据交错,一不是一,二也不是二了,所以,有种恨不得每个方法都是synchronized的,但是很明显这样做,是不对的。当然,以前也学习过多线程的基础,网上的资料也没少看、少找,但是还是不能完全切透这种模式的思路。 遇到一个类感觉需要全部加上synchronized关键字的时候, 你需要想一想这个类到底是不是应该在各个子线程中独立地创建 而不是各线程共享一个对象. |
|
返回顶楼 | |
发表时间:2012-04-17
如果每个方法都是synchronized,就相当于一个方法内是个synchronized(this)同步块,这样别的方法也会同时阻塞的。
|
|
返回顶楼 | |
发表时间:2012-04-17
一切皆数据,最终反映到的都是内存上的地址空间。所以你只要考虑尽可能少的让同一内存块被多个线程调用。如果必须这样,那就要加锁,或用其他方式保证两点:同步性与可见性
|
|
返回顶楼 | |