讨论多个线程共享数据,其实就是讨论多个线程如何对同一个数据进行操作。
另外,从今天开始,我会将我博客中涉及到的源代码放到我的github中。
本文源代码下载:My Tracks
方式有很多,这里列出2种:
1.每个线程执行的代码相同
如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个对象中有那个我们需要共享的数据,例如我们的卖票系统。
示例Demo:
public class ManyCenjoyOneob
{
public static void main(String[] args)
{
AllenjoyOb demo = new AllenjoyOb();
Thread th1 = new Thread(demo);
Thread th2 = new Thread(demo);
th1.start();
th2.start();
}
}
class AllenjoyOb implements Runnable
{
private int data = 0;
@Override
public void run()
{
increment();