[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] A question about cflow across threads
|
Please just ignore this question now. I think it does make sense the
program behaves like that.
--Pengcheng
On Wed, 9 Mar 2005, Pengcheng Wu wrote:
> Dear all,
>
> I have a question about cflow pointcut across threads. Assume I have a
> program like this:
>
> class A {
> public static void main(String[] args) {
> A a = new A();
> a.foo();
> }
> public void foo() {
> Thread t = new MyThread(this);
> t.start();
> }
> public void bar() { test();}
> public void test() {}
> }
>
> class MyThread extends Thread {
> A a;
> public MyThread(A a) {this.a = a;}
> public void run() {
> a.bar();
> }
> }
>
> The only thing interesting here is that a thread is started in the body of
> method foo().
>
> If I have an aspect, say:
>
> aspect B {
> pointcut p(): call(* *.bar()) && cflow(call(* *.foo()));
> }
>
> Will p() capture the call to bar() during the execution? If it were single
> thread program, it will capture; but as a multi-thread program as shown
> above, it doesn't. I am trying to figure out why it is so or it is just a
> bug.
>
> Thanks a lot!
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Pengcheng Wu, PhD Student
> College of Computer and Information Science
> Northeastern University
> Boston, MA 02115, USA
>
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/aspectj-users
>