黑马程序员技术交流社区
标题:
线程
[打印本页]
作者:
班志国
时间:
2012-10-15 21:41
标题:
线程
本帖最后由 班志国 于 2012-10-21 08:50 编辑
线程同步 和 线程不同步 都是什么意思啊
作者:
张 涛
时间:
2012-10-15 21:53
线程同步,是指互斥。也就是不能同时访问某一对象,或同时执行某段代码,要叉开。
异步常指类似于监听的东西。。。触发监听就会立即调用某方法。
剩下的就是不同步了。
作者:
梁世喜
时间:
2012-10-15 22:01
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
作者:
戴进飘
时间:
2012-10-15 22:02
同步就是协同步调,按预定的先后次序进行运行
多线程不同步是可以读写共享资源的。这听起来感觉挺好,因为一旦同步线程,将在同步线程上花去一定的CPU时间片.
但是,不同步线程的条件是:只开两个线程,读线程在写线程之后进行操作.满足这两个条件,就可以不用进行线程同步
作者:
李春生
时间:
2012-10-16 09:55
在java中的同步,是指多个线程在同时要访问某个对象、变量、方法、代码快等等时,保证只有唯一线程访问同步的对象(即用synchronized修为的内容)。也可以这样理解:同步就是指保证在同一时刻只有一个线程访问同步对象的前提下,确保操作同步对象的线程顺序,跟他们发出访问同步对象请求时的顺序一致。Vector是老版本jkd(1.0的时候就有)的一个集合类,
因为Vector是同步的而ArrayList是非同步的,所以Vector的性能比ArrayList要差。在不需要保证同步的情况下。尽量使用ArryList,在需要同步时,可以考虑用Vector(其实在需要同步的条件下,也同样不推荐用Vector,java中有个集合工具类Collections,它可以将一个ArrayList编程线程安全的)。把arraylist转换成同步的
List list = Collections.synchronizedList(new ArrayList());...
synchronized(list) {
?Iterator i = list.iterator(); // Must be insynchronized block
while (i.hasNext()) foo(i.next());取值的时候必须在synchronized中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2