2010/5/10 Andrei Stebakov <[email protected]>
>
>
> I just started to use Pharo 1.0. So please bear with me since I may not
> fully understand the full concept of the IDE. Sometimes the whole IDE
> freezes indefinitely.
Welcome ! we hope you enjoy ;)
> So questions:
> 1) Looks like evaluating anything from the Workspace freezes the whole UI
> for the time of execution. Is it a bug or a feature?
>
More or less. Pharo has a green thread implementation. I will tell you what
I understand. Green threads means, there is only ONE OS thread, and then,
internally (in Smalltalk) there exists their own threads, scheduler,
priorities, etc. The UI is just a process that is running, with a certain
priority. Go to the world menu, then "Tools" -> "Process Browser". There you
will see all the current processes with their priorities. You can notice the
UI process.
So...whatever you do here, it will be done inside that process. If you do
normal things, then yes, I guess the UI freezes. However, you way want to
launch another thread to do what you want and with a lower priority than the
UI.
Do this test: open a workspace and a transcript. In the workspace, evaluate:
[ 1000 timesRepeat: [Transcript show: 'mariano'; cr] ] forkAt: Processor
userBackgroundPriority
there, you will see that you are able to use the ide, while the block of
writing to Transcript is working "at the same time".
Here the most important message is forkAt: . fork just fork the block
with the standard priority ("Processor activePriority"). If you want to
specify the priority, you have to use forkAt:
> 2) Sometimes executing something freezes the UI indefinitely. Is there a
> way to cancel the operation (other than restarting the image)?
> Strangely in my case the IDE froze on evaluating HTTPSocket httpGet: '
> http://www.pharo-project.org/home'
>
>
Yes, Sockets are an example where sometimes they block the whole image. Are
you behind a proxy ? do you have a timeout error after a while ?
I have just tested and it also freezes for me in Mac OS. I have no idea.
Maybe other can help.
But yes, usually (sometimes it doesn't work) there is a combination of keys
that send a system interruption. Check this links:
http://wiki.squeak.org/squeak/899
http://wiki.squeak.org/squeak/1542
BTW Adrian, I think this deserves a FAQ entry as it has been asked several
times.
Cheers
Mariano
> Thank you,
> Andrei
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project