Hi there, Ruby allows to set the thread priority using the priority= method: Thread.new do Thread.current.priority = -1 ... blah blah blah ... end This is not available in IronRuby because priority maps to the System.Threading.Thread priority property which looks for the ThreadPriority enum. Is it going to change or is this the right behavior for IronRuby? Thanks, Shay. -- Posted via http://www.ruby-forum.com/.
You can just use the enum from ironruby System::Threading::ThreadPriority.normal --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) Emma Goldman <http://www.brainyquote.com/quotes/authors/e/emma_goldman.html> - "If voting changed anything, they''d make it illegal." On Tue, May 12, 2009 at 1:59 PM, Shay Friedman <lists at ruby-forum.com> wrote:> Hi there, > > Ruby allows to set the thread priority using the priority= method: > Thread.new do > Thread.current.priority = -1 > ... blah blah blah ... > end > > This is not available in IronRuby because priority maps to the > System.Threading.Thread priority property which looks for the > ThreadPriority enum. Is it going to change or is this the right behavior > for IronRuby? > > Thanks, > Shay. > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090512/627f044a/attachment.html>
Thread#priority attribute is not implemented yet, that?s why the CLR property is picked up. It should be easy to implement it. Any volunteer? Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Tuesday, May 12, 2009 5:41 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority You can just use the enum from ironruby System::Threading::ThreadPriority.normal --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) Emma Goldman<http://www.brainyquote.com/quotes/authors/e/emma_goldman.html> - "If voting changed anything, they''d make it illegal." On Tue, May 12, 2009 at 1:59 PM, Shay Friedman <lists at ruby-forum.com<mailto:lists at ruby-forum.com>> wrote: Hi there, Ruby allows to set the thread priority using the priority= method: Thread.new do Thread.current.priority = -1 ... blah blah blah ... end This is not available in IronRuby because priority maps to the System.Threading.Thread priority property which looks for the ThreadPriority enum. Is it going to change or is this the right behavior for IronRuby? Thanks, Shay. -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090512/13f470fa/attachment.html>
Hello, I?ve looked into this and it is pretty easy to implement. But I have a question before I send any modification. The Clr Thread works with 5 levels (Lowest, BelowNormal, Normal, AboveNormal and Highest) but based on the ruby doc a ruby thread works with an integer for priority. So I?ve decided to go with the following mapping Lowest <= -2 BelowNormal == -1 Normal == 0 AboveNormal ==1 Highestvalues >= 2 Is that correct ? Excuse me if that?s too basic but I?m pretty new to Ruby and even newer to IronRuby. Thanks; Pascal From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek Sent: May-12-09 12:56 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Thread#priority attribute is not implemented yet, that?s why the CLR property is picked up. It should be easy to implement it. Any volunteer? Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Tuesday, May 12, 2009 5:41 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority You can just use the enum from ironruby System::Threading::ThreadPriority.normal --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) Emma Goldman <http://www.brainyquote.com/quotes/authors/e/emma_goldman.html> - "If voting changed anything, they''d make it illegal." On Tue, May 12, 2009 at 1:59 PM, Shay Friedman <lists at ruby-forum.com> wrote: Hi there, Ruby allows to set the thread priority using the priority= method: Thread.new do Thread.current.priority = -1 ... blah blah blah ... end This is not available in IronRuby because priority maps to the System.Threading.Thread priority property which looks for the ThreadPriority enum. Is it going to change or is this the right behavior for IronRuby? Thanks, Shay. -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090515/e135a6a6/attachment.html>
That looks good to me. Will you be able to do relative priorities < -2 and > 2? Also, have we received a contribution agreement from you yet? Thanks, JD ?there is no try From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Pascal Normandin Sent: Thursday, May 14, 2009 9:05 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Hello, I?ve looked into this and it is pretty easy to implement. But I have a question before I send any modification. The Clr Thread works with 5 levels (Lowest, BelowNormal, Normal, AboveNormal and Highest) but based on the ruby doc a ruby thread works with an integer for priority. So I?ve decided to go with the following mapping Lowest <= -2 BelowNormal == -1 Normal == 0 AboveNormal ==1 Highestvalues >= 2 Is that correct ? Excuse me if that?s too basic but I?m pretty new to Ruby and even newer to IronRuby. Thanks; Pascal From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek Sent: May-12-09 12:56 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Thread#priority attribute is not implemented yet, that?s why the CLR property is picked up. It should be easy to implement it. Any volunteer? Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Tuesday, May 12, 2009 5:41 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority You can just use the enum from ironruby System::Threading::ThreadPriority.normal --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) Emma Goldman<http://www.brainyquote.com/quotes/authors/e/emma_goldman.html> - "If voting changed anything, they''d make it illegal." On Tue, May 12, 2009 at 1:59 PM, Shay Friedman <lists at ruby-forum.com<mailto:lists at ruby-forum.com>> wrote: Hi there, Ruby allows to set the thread priority using the priority= method: Thread.new do Thread.current.priority = -1 ... blah blah blah ... end This is not available in IronRuby because priority maps to the System.Threading.Thread priority property which looks for the ThreadPriority enum. Is it going to change or is this the right behavior for IronRuby? Thanks, Shay. -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090516/be16458d/attachment.html>
Hello, I?ve send an email to ssiadmin today ? just waiting for the followup. Regarding the thread priority at this time anything lower to -2 will be mapped to Clr thread priority Lowest and anything above 2 will be mapped to Highest. So something like this could happen thr.priority=1000 puts thr.priority #=> 2 So even if you set 1000 the next time you check this value it will be 2 as 1000 is mapped to Highest Is that acceptable ? I guess best way of implementing this to be closer to the ruby spec would be to keep a priority variable in the Thread objet and then adjust the Clr priority based on all the threads that are currently running. i.e. if we have the following threads running with the following priorities T1 = P10 T2 = P20 T3 = P30 T4 = P40 T5 = P50 Then we readjust the Clr priorities to Lowest == 10 BelowNormal == 20 Normal == 30 AboveNormal == 40 Highest == 50 And if there is more than 5 priorities some would need to be regrouped together. Doing that will require some dynamic compilation of thread priorities and add a little overhead ? Anyways that may not be necessary, what do you think ? Pascal From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Jim Deville Sent: May-16-09 4:34 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority That looks good to me. Will you be able to do relative priorities < -2 and > 2? Also, have we received a contribution agreement from you yet? Thanks, JD ?there is no try From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Pascal Normandin Sent: Thursday, May 14, 2009 9:05 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Hello, I?ve looked into this and it is pretty easy to implement. But I have a question before I send any modification. The Clr Thread works with 5 levels (Lowest, BelowNormal, Normal, AboveNormal and Highest) but based on the ruby doc a ruby thread works with an integer for priority. So I?ve decided to go with the following mapping Lowest <= -2 BelowNormal == -1 Normal == 0 AboveNormal ==1 Highestvalues >= 2 Is that correct ? Excuse me if that?s too basic but I?m pretty new to Ruby and even newer to IronRuby. Thanks; Pascal From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek Sent: May-12-09 12:56 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Thread#priority attribute is not implemented yet, that?s why the CLR property is picked up. It should be easy to implement it. Any volunteer? Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Tuesday, May 12, 2009 5:41 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority You can just use the enum from ironruby System::Threading::ThreadPriority.normal --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) Emma Goldman <http://www.brainyquote.com/quotes/authors/e/emma_goldman.html> - "If voting changed anything, they''d make it illegal." On Tue, May 12, 2009 at 1:59 PM, Shay Friedman <lists at ruby-forum.com> wrote: Hi there, Ruby allows to set the thread priority using the priority= method: Thread.new do Thread.current.priority = -1 ... blah blah blah ... end This is not available in IronRuby because priority maps to the System.Threading.Thread priority property which looks for the ThreadPriority enum. Is it going to change or is this the right behavior for IronRuby? Thanks, Shay. -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090516/b7fb192f/attachment.html>
If ssiadmin doesn?t get to you by Monday, ping me and I?ll follow up with them. Threading on IronRuby is already different from threading on MRI due to the native threads, so we have to forge some paths that others don?t. In this case, after talking to Charles Nutter, JRuby does what you describe. Knowing that, I think we should go with your first (basic mapping) plan unless Shri or Tomas have any objections. JD ?there is no try From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Pascal Normandin Sent: Saturday, May 16, 2009 7:55 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Hello, I?ve send an email to ssiadmin today ? just waiting for the followup. Regarding the thread priority at this time anything lower to -2 will be mapped to Clr thread priority Lowest and anything above 2 will be mapped to Highest. So something like this could happen thr.priority=1000 puts thr.priority #=> 2 So even if you set 1000 the next time you check this value it will be 2 as 1000 is mapped to Highest Is that acceptable ? I guess best way of implementing this to be closer to the ruby spec would be to keep a priority variable in the Thread objet and then adjust the Clr priority based on all the threads that are currently running. i.e. if we have the following threads running with the following priorities T1 = P10 T2 = P20 T3 = P30 T4 = P40 T5 = P50 Then we readjust the Clr priorities to Lowest == 10 BelowNormal == 20 Normal == 30 AboveNormal == 40 Highest == 50 And if there is more than 5 priorities some would need to be regrouped together. Doing that will require some dynamic compilation of thread priorities and add a little overhead ? Anyways that may not be necessary, what do you think ? Pascal From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Jim Deville Sent: May-16-09 4:34 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority That looks good to me. Will you be able to do relative priorities < -2 and > 2? Also, have we received a contribution agreement from you yet? Thanks, JD ?there is no try From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Pascal Normandin Sent: Thursday, May 14, 2009 9:05 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Hello, I?ve looked into this and it is pretty easy to implement. But I have a question before I send any modification. The Clr Thread works with 5 levels (Lowest, BelowNormal, Normal, AboveNormal and Highest) but based on the ruby doc a ruby thread works with an integer for priority. So I?ve decided to go with the following mapping Lowest <= -2 BelowNormal == -1 Normal == 0 AboveNormal ==1 Highestvalues >= 2 Is that correct ? Excuse me if that?s too basic but I?m pretty new to Ruby and even newer to IronRuby. Thanks; Pascal From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Tomas Matousek Sent: May-12-09 12:56 PM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority Thread#priority attribute is not implemented yet, that?s why the CLR property is picked up. It should be easy to implement it. Any volunteer? Tomas From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Ivan Porto Carrero Sent: Tuesday, May 12, 2009 5:41 AM To: ironruby-core at rubyforge.org Subject: Re: [Ironruby-core] Thread priority You can just use the enum from ironruby System::Threading::ThreadPriority.normal --- Met vriendelijke groeten - Best regards - Salutations Ivan Porto Carrero Blog: http://flanders.co.nz Twitter: http://twitter.com/casualjim Author of IronRuby in Action (http://manning.com/carrero) Emma Goldman<http://www.brainyquote.com/quotes/authors/e/emma_goldman.html> - "If voting changed anything, they''d make it illegal." On Tue, May 12, 2009 at 1:59 PM, Shay Friedman <lists at ruby-forum.com<mailto:lists at ruby-forum.com>> wrote: Hi there, Ruby allows to set the thread priority using the priority= method: Thread.new do Thread.current.priority = -1 ... blah blah blah ... end This is not available in IronRuby because priority maps to the System.Threading.Thread priority property which looks for the ThreadPriority enum. Is it going to change or is this the right behavior for IronRuby? Thanks, Shay. -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org> http://rubyforge.org/mailman/listinfo/ironruby-core -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090517/1da042f9/attachment.html>