线程
iteye_4130
这个作者很懒,什么都没留下…
展开
-
Java线程
首先要搞清楚的是线程的共享资源,共享资源是多线程中每个线程都要访问的类变量或实例变量,共享资源可以是单个类变量或实例变量,也可以是一组类变量或实例变量。多线程程序可以有多个共享资源。下面描述他们之间的一对多关系(*表示多): 多线程程序(1)----共享资源(*)----类变量或实例变量(1…*) 只有...原创 2010-11-13 11:13:11 · 81 阅读 · 0 评论 -
线程初步
线程初步: 1、创建线程的两种方式: 通过Thread t = new Thread()创建,需要继承java.lang包中Thread类重写run()方法,然后让t.start()启动线程; 通过实现Runnable接口也重写了run()方法,接着把Runnable创建出来的对象当参数把它传进去 Runnable r = new XxxThread(); new Threa...原创 2010-11-14 17:26:49 · 82 阅读 · 0 评论 -
线程:共享资源(一)
共享资源(或称临界资源)问题:多个线程同时修改同一个数据(资源),导致最终结果不正确,这是典型的由于并发访问所产生的问题。 线程的内存结构: [b][size=large]当我们每启动一个线程,每个线程都会有一个它自己的栈,所以对于局部变量,不存在并发访问问题,但“堆”和“方法区”是所有线程共享的,所以,如果我们在多个线程中访问在“堆”中的同一个对象的数据时,或者访问静态变量时,就会产生并发访...原创 2010-11-19 00:23:30 · 90 阅读 · 0 评论 -
线程:共享资源(二)
[size=medium]synchronized关键字被添加到实例方法的前面时,[color=blue]只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法[/color][/size]([size=medium][b]对象级的锁[/b][/size]) SomeClass中的同步方法: public synchro...原创 2010-11-19 00:33:29 · 76 阅读 · 0 评论 -
线程安全的StringBuffer和线程不安全的StringBuilder
有一个线程: public class MyThread extends Thread { private StringBuffer sb; public MyThread(String name,StringBuffer sb) { super(name); this.sb = sb; } @Override public void run() { for...原创 2010-11-19 00:42:40 · 222 阅读 · 0 评论