Reinventing wheels?

Jump to navigation Jump to search

It's more likely a sign of the state of Java (or the author's knowledge of it) at the time the page was drafted. It looks like the original is over 10 years old.

Besides Toad, do any bots actually make use of multithreading? I've always felt the community considered it to be a "dirty" tactic.

Enamel 32 (talk)04:42, 1 March 2019

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Users.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page.

Return to Thread:Talk:Multithreading/Reinventing wheels?/reply (2).

I agree that computational tasks should not be allowed to run multithreaded in rumble or even in general robocode, or at least we should not allow threads to be run when other bots are running.

However as long as you do file I/O for data logging purposes, multithreading is essential as it’s not fair for your main threads to run blocking I/O only to get a lot skipped turns.

Anyway, a better solution is to provide this in robocode, so fairness is guaranteed.

Xor (talk)02:27, 2 March 2019

I usually put the engine in debug mode if I am going to be logging a lot of data. Also, robocode does increase your processing time allowed if you do any file IO.

Skilgannon (talk)17:04, 2 March 2019

But debug mode disables security iirc? Then this mode is unsafe for running with arbitrary opponent. Also it seems that skipped turns has no special handling if you do IO. It just increases the max skipped turns allowed before you get disabled

Java already has nonblocking IO support, may be we should support this in robocode as well. Currently doing so requires disabling security.

Xor (talk)02:47, 3 March 2019