OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_BROWSER_THREAD_H_ | 5 #ifndef CHROME_BROWSER_BROWSER_THREAD_H_ |
6 #define CHROME_BROWSER_BROWSER_THREAD_H_ | 6 #define CHROME_BROWSER_BROWSER_THREAD_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/lock.h" | 9 #include "base/synchronization/lock.h" |
10 #include "base/task.h" | 10 #include "base/task.h" |
11 #include "base/threading/thread.h" | 11 #include "base/threading/thread.h" |
12 | 12 |
13 namespace base { | 13 namespace base { |
14 class MessageLoopProxy; | 14 class MessageLoopProxy; |
15 } | 15 } |
16 | 16 |
17 /////////////////////////////////////////////////////////////////////////////// | 17 /////////////////////////////////////////////////////////////////////////////// |
18 // BrowserThread | 18 // BrowserThread |
19 // | 19 // |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 Task* task, | 190 Task* task, |
191 int64 delay_ms, | 191 int64 delay_ms, |
192 bool nestable); | 192 bool nestable); |
193 | 193 |
194 // The identifier of this thread. Only one thread can exist with a given | 194 // The identifier of this thread. Only one thread can exist with a given |
195 // identifier at a given time. | 195 // identifier at a given time. |
196 ID identifier_; | 196 ID identifier_; |
197 | 197 |
198 // This lock protects |browser_threads_|. Do not read or modify that array | 198 // This lock protects |browser_threads_|. Do not read or modify that array |
199 // without holding this lock. Do not block while holding this lock. | 199 // without holding this lock. Do not block while holding this lock. |
200 static Lock lock_; | 200 static base::Lock lock_; |
201 | 201 |
202 // An array of the BrowserThread objects. This array is protected by |lock_|. | 202 // An array of the BrowserThread objects. This array is protected by |lock_|. |
203 // The threads are not owned by this array. Typically, the threads are owned | 203 // The threads are not owned by this array. Typically, the threads are owned |
204 // on the UI thread by the g_browser_process object. BrowserThreads remove | 204 // on the UI thread by the g_browser_process object. BrowserThreads remove |
205 // themselves from this array upon destruction. | 205 // themselves from this array upon destruction. |
206 static BrowserThread* browser_threads_[ID_COUNT]; | 206 static BrowserThread* browser_threads_[ID_COUNT]; |
207 }; | 207 }; |
208 | 208 |
209 #endif // CHROME_BROWSER_BROWSER_THREAD_H_ | 209 #endif // CHROME_BROWSER_BROWSER_THREAD_H_ |
OLD | NEW |