Java多线程初步--总结(二)

2014-11-24 03:19:31 · 作者: · 浏览: 4
只有在main memory当中放置。

7、向线程传递参数的三种方式

①在构造函数时传递参数,如Thread(Runnable target);

②通过变量和方法传递参数,如setName();

③通过回调函数传递参数,就是说在run()方法当中的再次调用函数。

以上三种方式可以归结为两类,一类是在thread.start()之前传递参数,对应于前两种。另一类就是在thread.start()方法之后,也就是最后一种方式。

8、线程返回参数的两种方式

①通过变量或者方法返回参数

②通过回调函数返回参数。

同时要注意,不要忽略一重要的知识点,main方法是主线程!!可以与其他用户自定义线程并发执行。

9、Synchronized关键字同步

①Synchronized关键字可以进行普通方法,静态方法,部分块,设置同步参数的方式进行同步。在使用synchronized块时应注意,synchronized块只能使用对象作为它的参数。

②如果在类中使用synchronized关键字来定义非静态方法,那将影响这个中的所有使用synchronized关键字定义的非静态方法。如果定义的是静态方法,那么将影响类中所有使用synchronized关键字定义的静态方法。这有点象数据表中的表锁,当修改一条记录时,系统就将整个表都锁住了,因此,大量使用这种同步方式会使程序的性能大幅度下降

作者 snowball