TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: nokiya2000 on May 12, 2011, 08:11:49 PM

Title: Is it possible to parallel processing with LISP?
Post by: nokiya2000 on May 12, 2011, 08:11:49 PM
HI~ Guys , This is my second thread.

I live in Korea and work as GIS Engineer. When I work, I usually used Autodesk Map3d 2008.

I 'm not good at Lisp Programming. But i can programming what I want .

Someday , I'm wondering about Parallel processing with VLISP.

So I tried to parallel  programming by LISP.

But There was so many things to solve.

So I want to ask you guys about Parallel Processing.

Is it possible to parallel processing?

Thanks for reading this thread.

Title: Re: Is it possible to parallel processing with LISP?
Post by: JohnK on May 12, 2011, 11:21:01 PM
No, AutoLisp is an intrepreted langugage.
Title: Re: Is it possible to parallel processing with LISP?
Post by: nokiya2000 on May 12, 2011, 11:34:31 PM
No, AutoLisp is an intrepreted langugage.


Well, Then What language is good to parallel programming? Dot net ? or...
Title: Re: Is it possible to parallel processing with LISP?
Post by: Jeff H on May 13, 2011, 12:03:37 AM
The problem is AutoCAD.

AutoCAD API functions are not thread safe so you can use multiple threads or have ones that do background processing but only the main process can interact with AutoCAD.

Title: Re: Is it possible to parallel processing with LISP?
Post by: ElpanovEvgeniy on May 13, 2011, 12:26:09 AM
Why do you need parallel processing?
Perhaps improved algorithms can increase the speed of the program.
Title: Re: Is it possible to parallel processing with LISP?
Post by: highflyingbird on May 13, 2011, 12:54:11 AM
Actually,Nothing is impossible.
My friend have finished this challenge.Now I just show some demostrations.
I read his code,it's made of VLISP,just added a line of VBS into it.
For some reasons,I didn't post his code.
Title: Re: Is it possible to parallel processing with LISP?
Post by: nokiya2000 on May 13, 2011, 02:28:13 AM
Why do you need parallel processing?
Perhaps improved algorithms can increase the speed of the program.

Yea , That's why i need to parallel programming.

I actually draw Cross section by lisp.

It was kind of stupid thing when i work.
Title: Re: Is it possible to parallel processing with LISP?
Post by: nokiya2000 on May 13, 2011, 02:31:03 AM
Actually,Nothing is impossible.
My friend have finished this challenge.Now I just show some demostrations.
I read his code,it's made of VLISP,just added a line of VBS into it.
For some reasons,I didn't post his code.

Wow!!! As you mention, Noting is impossible.

HOw did your friends do multiple tasking like that?

I'm so wondering about it. ...
Title: Re: Is it possible to parallel processing with LISP?
Post by: ElpanovEvgeniy on May 13, 2011, 02:41:54 AM
Actually,Nothing is impossible.
My friend have finished this challenge.Now I just show some demostrations.
I read his code,it's made of VLISP,just added a line of VBS into it.
For some reasons,I didn't post his code.

what version of autocad can use this program?
Will it work on autocad 2010-2012?
Title: Re: Is it possible to parallel processing with LISP?
Post by: highflyingbird on May 13, 2011, 03:18:51 AM
Actually,Nothing is impossible.
My friend have finished this challenge.Now I just show some demostrations.
I read his code,it's made of VLISP,just added a line of VBS into it.
For some reasons,I didn't post his code.

what version of autocad can use this program?
Will it work on autocad 2010-2012?
Any version that greater than R13 .
I think so. I tested it on AutoCAD 2012,Windows 7.It works well.
Title: Re: Is it possible to parallel processing with LISP?
Post by: highflyingbird on May 13, 2011, 03:23:34 AM
Wow!!! As you mention, Noting is impossible.
HOw did your friends do multiple tasking like that?
I'm so wondering about it. ...

I have another way:
Create it by some API functions. for example: Use VBA statements or "DynamicWrapperX"  to declare  some functions about Thread.
Code: [Select]
Declare Function CreateThread Lib "kernel32" Alias "CreateThread" _
  (lpThreadAttributes As SECURITY_ATTRIBUTES, _
   ByVal dwStackSize As Long, _
  lpStartAddress As Long, _
  lpParameter As Any, _
  ByVal dwCreationFlags As Long, _
  lpThreadId As Long) As Long
Then use VL.application to call it.